fix
This commit is contained in:
parent
d7436607d5
commit
5953a5d6e6
|
@ -20,8 +20,8 @@
|
|||
|
||||
// 红外循迹模块引脚
|
||||
// 模式选择
|
||||
// #define IR_MODE IRMode::IR_MODE_GPIO
|
||||
#define IR_MODE IRMode::IR_MODE_I2C
|
||||
// 1 GPIO 2 I2C
|
||||
#define IR_MODE 2
|
||||
#define IR_COUNT 8
|
||||
// 是否反转电平输出
|
||||
#define IR_OUTPUT_REVERSE 0
|
||||
|
|
|
@ -6,15 +6,9 @@
|
|||
#include <algorithm>
|
||||
#include "consts.h"
|
||||
|
||||
enum IRMode
|
||||
{
|
||||
IR_MODE_GPIO,
|
||||
IR_MODE_I2C
|
||||
};
|
||||
|
||||
struct IRData
|
||||
{
|
||||
IRMode mode;
|
||||
uint8_t mode;
|
||||
uint8_t pins[IR_COUNT];
|
||||
uint8_t count;
|
||||
uint8_t data[8];
|
||||
|
|
13
src/ir.cpp
13
src/ir.cpp
|
@ -8,7 +8,7 @@ void IR::init()
|
|||
Serial.println("IR Init");
|
||||
data.mode = IR_MODE;
|
||||
data.count = IR_COUNT;
|
||||
if (IR_MODE == IRMode::IR_MODE_GPIO)
|
||||
#if IR_MODE == 1
|
||||
{
|
||||
uint8_t pins[IR_COUNT] = IR_PINS;
|
||||
for (int i = 0; i < IR_COUNT; i++)
|
||||
|
@ -16,7 +16,7 @@ void IR::init()
|
|||
data.pins[i] = pins[i];
|
||||
};
|
||||
}
|
||||
else if (IR_MODE == IRMode::IR_MODE_I2C)
|
||||
#elif IR_MODE == 2
|
||||
{
|
||||
uint8_t pins[2] = IR_PINS;
|
||||
data.pins[0] = pins[0]; // SCL
|
||||
|
@ -34,11 +34,12 @@ void IR::init()
|
|||
Serial.println("Invalid I2C pins");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void IR::update()
|
||||
{
|
||||
if (data.mode == IRMode::IR_MODE_GPIO)
|
||||
#if IR_MODE == 1
|
||||
{
|
||||
for (int i = 0; i < data.count; i++)
|
||||
{
|
||||
|
@ -58,7 +59,9 @@ void IR::update()
|
|||
#endif
|
||||
}
|
||||
}
|
||||
else if (data.mode == IRMode::IR_MODE_I2C && i2c != nullptr)
|
||||
#elif IR_MODE == 2
|
||||
{
|
||||
if (i2c != nullptr)
|
||||
{
|
||||
byte value = 0;
|
||||
|
||||
|
@ -91,3 +94,5 @@ void IR::update()
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
Loading…
Reference in New Issue