49 Serial.println(
"Step detected");
54 Serial.print(
"Step count: ");
55 Serial.println(stepCount);
74 Serial.println(
"BMA4xx sensor initialization failed");
80 Serial.println(
" Sensor initialized successfully");
85 Serial.println(
"Failed to set remap axes");
96 float data_rate_hz = 100.0f;
101 Serial.println(
"Failed to configure accelerometer");
105 bool feature_enable =
true;
106 bool interrupt_enable =
true;
108 bool reset_counter =
true;
112 uint16_t step_counter_wm = 1;
121 Serial.println(
"Failed to set interrupt pin configuration");
128 Serial.println(
"Failed to enable step counter");
135 Serial.println(
"Failed to enable step detector");
147 Serial.println(
"Now you can move the sensor.");
OperationMode
Enumeration of sensor operation modes.
AccelFullScaleRange
Enumeration of accelerometer full-scale range settings.
InterruptPinMap
Enumeration of interrupt pin mapping options.
void onStepCount(uint32_t stepCount)
volatile bool isInterruptTriggered
bool begin(CommInterface interface, SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_callback, uint8_t addr=0)
Initialize the sensor using custom callback interface.
void setOnStepDetectedCallback(std::function< void()> cb)
Set the callback for step detection events.
bool enableStepCounter(bool enable, uint16_t step_counter_wm=1, bool reset_counter=false) override
Enable or disable step counter.
bool enableStepDetector(bool enable, bool interrupt_enable=false, InterruptPinMap pin_map=InterruptPinMap::PIN1) override
Enable or disable step detector.
void setOnStepCountCallback(std::function< void(uint32_t)> cb)
Set the callback for step count events.
void update() override
Update sensor state and process interrupts.
virtual bool setRemapAxes(SensorRemap remap)
Set the remapping of axes for the BMA4XX sensor.
bool setInterruptPinConfig(InterruptPinMap pin_map, bool edge_trigger=false, bool active_low=true, bool output_en=true, bool input_en=false)
Configure the electrical properties of an interrupt pin.
const char * getModelName() const
Get the model name of the BMA4XX sensor.
bool configAccelerometer(OperationMode mode, AccelFullScaleRange range, float data_rate_hz, AccelBandwidth bandwidth, AccelPerfMode perf_mode)
Configure the accelerometer.
AccelBandwidth
BMA4 Accelerometer averaging filter configuration These values configure the internal averaging filte...
@ OSR2_AVG2
OSR2 mode with 2 samples averaged.
AccelPerfMode
BMA4 Accelerometer performance mode configuration Configures the internal filter behavior for sample ...
@ CIC_AVG_MODE
Averaging filter mode: samples are averaged based on configured bandwidth and ODR.