42#if !defined(USE_I2C_INTERFACE) && !defined(USE_SPI_INTERFACE)
43#define USE_I2C_INTERFACE
44#warning "No interface type is selected, use I2C interface"
47#if defined(USE_SPI_INTERFACE)
92#define BOSCH_BHI260_AUX_BMM150_BEM280_GPIO
109#define USING_SENSOR_IRQ_METHOD
112#ifdef USING_SENSOR_IRQ_METHOD
127 case BoschSensorID::HUMIDITY:
128 bhy2_parse_humidity(data_ptr, &
humidity);
129 Serial.print(
"humidity:"); Serial.print(
humidity); Serial.println(
"%");
131 case BoschSensorID::TEMPERATURE:
132 bhy2_parse_temperature_celsius(data_ptr, &
temperature);
133 Serial.print(
"temperature:"); Serial.print(
temperature); Serial.println(
"*C");
135 case BoschSensorID::BAROMETER:
136 bhy2_parse_pressure(data_ptr, &
pressure);
137 Serial.print(
"pressure:"); Serial.print(
pressure); Serial.println(
"hPa");
140 Serial.println(
"Unkown.");
148 float progress = (float)transferred / total * 100;
149 Serial.print(
"Upload progress: ");
150 Serial.print(progress);
156 Serial.begin(115200);
162 Serial.println(
"Initializing Sensors...");
179 Serial.println(
"Initializing Sensors...");
181#ifdef USE_I2C_INTERFACE
186 Serial.print(
"Failed to initialize sensor - error code:");
187 Serial.println(
bhy.getError());
194#ifdef USE_SPI_INTERFACE
197 Serial.print(
"Failed to initialize sensor - error code:");
198 Serial.println(
bhy.getError());
205 Serial.println(
"Initializing the sensor successfully!");
213 BoschSensorInfo info =
bhy.getSensorInfo();
216 ArduinoStreamPrinter printer(Serial);
217 info.printInfo(printer);
219 info.printInfo([](
const char *format, ...) ->
int {
221 va_start(args, format);
222 int result = vprintf(format, args);
230 Serial.println(
"Hello: Type 'help' to get help");
232 cmd.printCommandPrompt();
234#ifdef USING_SENSOR_IRQ_METHOD
251#ifdef USING_SENSOR_IRQ_METHOD
261#ifdef USING_SENSOR_IRQ_METHOD
282 cmd.commandPrompt(ON);
284 cmd.errorMessages(ON);
290 Serial.println(
"Help:");
291 Serial.println(
"\tCustom firmware valid gpio : 1, 5, 6, 14, 15, 16, 19, 20");
292 Serial.println(
"\tset gpio [gpio num] [level]");
293 Serial.println(
"\tget gpio [gpio num] [pullup]");
294 Serial.println(
"\tdis gpio [gpio num]");
295 Serial.println(
"\ttemperature [on/off] : range 0 ~ 1");
296 Serial.println(
"\thumidity [on/off] : range 0 ~ 1");
297 Serial.println(
"\tpressure [sample_rate/HZ] : range 0~1000");
304 int items = Cmdr.countItems();
308 Cmdr.getFloat(sample_rate);
309 bhy.configure(BoschSensorID::TEMPERATURE, sample_rate, 0);
316 int items = Cmdr.countItems();
320 Cmdr.getFloat(sample_rate);
321 bhy.configure(BoschSensorID::HUMIDITY, sample_rate, 0);
328 int items = Cmdr.countItems();
332 Cmdr.getFloat(sample_rate);
333 bhy.configure(BoschSensorID::BAROMETER, sample_rate, 0);
360 int values[2] = {0, 0};
361 int items = Cmdr.countItems();
365 for (
int n = 0; n < 2; n++) {
366 Cmdr.getInt(values[n]);
368 uint8_t pin = values[0];
369 uint8_t
level = values[1];
376 int values[2] = {0, 0};
377 int items = Cmdr.countItems();
381 if (items > 2 )items = 2;
382 for (
int n = 0; n < items; n++) {
383 Cmdr.getInt(values[n]);
386 uint8_t pin = values[0];
391 Serial.print(
"Get GPIO : "); Serial.print(pin);
392 Serial.print(
" level is "); Serial.println(
level);
399 int items = Cmdr.countItems();
403 Cmdr.getInt(values[0]);
404 uint8_t pin = values[0];
SensorTemperature temperature(bhy)
SensorPressure pressure(bhy)
SensorHumidity humidity(bhy)
bool helpHandler(Commander &Cmdr)
void initialiseCommander()
bool getGpioLevel(Commander &Cmdr)
bool setTemperature(Commander &Cmdr)
bool disGpioMode(Commander &Cmdr)
bool setHumidity(Commander &Cmdr)
volatile bool isInterruptTriggered
void progress_callback(uint32_t total, uint32_t transferred, void *user_data)
bool setPressure(Commander &Cmdr)
bool force_update_flash_firmware
const commandList_t masterCommands[]
bool setGpioLevel(Commander &Cmdr)
void parse_bme280_sensor_data(uint8_t sensor_id, const uint8_t *data_ptr, uint32_t len, uint64_t *timestamp, void *user_data)
void digitalWrite(uint8_t pin, uint8_t level)
digitalWrite
uint8_t digitalRead(uint8_t pin, bool pullup=false)
digitalRead
void disableGpio(uint8_t pin)
disableGpio
void setBootFromFlash(bool boot_from_flash)
setBootFromFlash