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)
94#define BOSCH_BHI260_GPIO
109#define USING_SENSOR_IRQ_METHOD
112#ifdef USING_SENSOR_IRQ_METHOD
124 float progress = (float)transferred / total * 100;
125 Serial.print(
"Upload progress: ");
126 Serial.print(progress);
132 Serial.begin(115200);
138 Serial.println(
"Initializing Sensors...");
155 Serial.println(
"Initializing Sensors...");
157#ifdef USE_I2C_INTERFACE
162 Serial.print(
"Failed to initialize sensor - error code:");
163 Serial.println(
bhy.getError());
170#ifdef USE_SPI_INTERFACE
173 Serial.print(
"Failed to initialize sensor - error code:");
174 Serial.println(
bhy.getError());
181 Serial.println(
"Initializing the sensor successfully!");
184 BoschSensorInfo info =
bhy.getSensorInfo();
187 ArduinoStreamPrinter printer(Serial);
188 info.printInfo(printer);
190 info.printInfo([](
const char *format, ...) ->
int {
192 va_start(args, format);
193 int result = vprintf(format, args);
201 Serial.println(
"Hello: Type 'help' to get help");
203 cmd.printCommandPrompt();
205#ifdef USING_SENSOR_IRQ_METHOD
224#ifdef USING_SENSOR_IRQ_METHOD
234#ifdef USING_SENSOR_IRQ_METHOD
252 cmd.commandPrompt(ON);
254 cmd.errorMessages(ON);
260 Serial.println(
"Help:");
261 Serial.println(
"\tCustom firmware valid gpio : 1, 4, 5, 6, 14, 15, 16, 17, 18, 19, 20");
262 Serial.println(
"\tset gpio [gpio num] [level]");
263 Serial.println(
"\tget gpio [gpio num] [pullup]");
264 Serial.println(
"\tdis gpio [gpio num]");
290 int values[2] = {0, 0};
291 int items = Cmdr.countItems();
295 for (
int n = 0; n < 2; n++) {
296 Cmdr.getInt(values[n]);
298 uint8_t pin = values[0];
299 uint8_t
level = values[1];
306 int values[2] = {0, 0};
307 int items = Cmdr.countItems();
311 if (items > 2 )items = 2;
312 for (
int n = 0; n < items; n++) {
313 Cmdr.getInt(values[n]);
316 uint8_t pin = values[0];
321 Serial.print(
"Get GPIO : "); Serial.print(pin);
322 Serial.print(
" level is "); Serial.println(
level);
329 int items = Cmdr.countItems();
333 Cmdr.getInt(values[0]);
334 uint8_t pin = values[0];
bool helpHandler(Commander &Cmdr)
void initialiseCommander()
bool getGpioLevel(Commander &Cmdr)
bool disGpioMode(Commander &Cmdr)
volatile bool isInterruptTriggered
void progress_callback(uint32_t total, uint32_t transferred, void *user_data)
bool force_update_flash_firmware
const commandList_t masterCommands[]
bool setGpioLevel(Commander &Cmdr)
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