49 Serial.print(
"Activity detected: ");
52 Serial.println(
"Stationary");
55 Serial.println(
"Walking");
58 Serial.println(
"Running");
61 Serial.println(
"Unknown");
82 Serial.println(
"BMA4xx sensor initialization failed");
88 Serial.println(
" Sensor initialized successfully");
93 Serial.println(
"Failed to set remap axes");
104 float data_rate_hz = 100.0f;
109 Serial.println(
"Failed to configure accelerometer");
113 bool feature_enable =
true;
114 bool interrupt_enable =
true;
124 Serial.println(
"Failed to set interrupt pin configuration");
131 Serial.println(
"Failed to enable activity recognition");
140 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.
SensorActivity activity(bhy)
volatile bool isInterruptTriggered
void onActivity(ActivityType activity)
bool begin(CommInterface interface, SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_callback, uint8_t addr=0)
Initialize the sensor using custom callback interface.
void setOnActivityCallback(std::function< void(ActivityType)> cb)
Set the callback for activity events.
bool enableActivityRecognition(bool enable, bool interrupt_enable=false, InterruptPinMap pin_map=InterruptPinMap::PIN1) override
Enable or disable activity recognition.
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.
ActivityType
Activity detection type.
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.