STIMA
3
|
#include "i2c-leaf.h"
Functions | |
void | setup () |
Arduino setup function. Init watchdog, hardware, debug, buffer and load configuration stored in EEPROM. More... | |
void | loop () |
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running. More... | |
void | logPrefix (Print *_logOutput) |
void | logSuffix (Print *_logOutput) |
void | init_logging () |
Init logging system. More... | |
void | init_power_down (uint32_t *time_ms, uint32_t debouncing_ms) |
Enter power down mode. More... | |
void | init_wdt (uint8_t wdt_timer) |
Init watchdog. More... | |
void | init_buffers () |
Init buffers. More... | |
void | init_tasks () |
Init tasks variable and state. More... | |
void | init_pins () |
Init hardware pins. More... | |
void | init_wire () |
Init wire (i2c) library and performs checks on the bus. More... | |
void | init_spi () |
Init SPI library. More... | |
void | init_rtc () |
Init RTC module. More... | |
void | init_system () |
Init system. More... | |
void | print_configuration () |
Print current configuration. More... | |
void | save_configuration (bool is_default) |
Save configuration to EEPROM. More... | |
void | load_configuration () |
Load configuration from EEPROM. More... | |
void | init_sensors () |
Create and setup sensors. More... | |
ISR (TIMER1_OVF_vect) | |
Timer1 overflow interrupts routine. More... | |
void | i2c_request_interrupt_handler () |
I2C request interrupt handler. More... | |
void | i2c_receive_interrupt_handler (int rx_data_length) |
I2C receive interrupt handler. More... | |
void | leaf_reading_task () |
Sensors reading Task. Read data from sensors. More... | |
void | exchange_buffers () |
Exchange reader and writer pointer to buffer. More... | |
void | reset_samples_buffer () |
Reset samples buffers to default value. More... | |
void | reset_report_buffer () |
void | command_task () |
Command Task. Execute the command received on i2c bus by reading i2c received data buffer. More... | |
void | copy_buffers () |
void | commands () |
Performs specific operations based on the received command. More... | |
void command_task | ( | void | ) |
Command Task. Execute the command received on i2c bus by reading i2c received data buffer.
Execute the command received on i2c bus by reading i2c received data buffer.
void commands | ( | void | ) |
Performs specific operations based on the received command.
CONTINUOUS TEST
CONTINUOUS START
CONTINUOUS STOP
CONTINUOUS START-STOP
ONESHOT START
ONESHOT STOP
ONESHOT START-STOP
void copy_buffers | ( | ) |
copy readable_data_2 in readable_data_1
void exchange_buffers | ( | void | ) |
Exchange reader and writer pointer to buffer.
void i2c_receive_interrupt_handler | ( | int | rx_data_length | ) |
I2C receive interrupt handler.
[in] | rx_data_length | received data length in bytes. |
check crc: ok
void i2c_request_interrupt_handler | ( | void | ) |
I2C request interrupt handler.
write readable_data_length bytes of data stored in readable_data_read_ptr (base) + readable_data_address (offset) on i2c bus
write crc8
void init_buffers | ( | void | ) |
Init buffers.
copy readable_data_2 in readable_data_1
void init_logging | ( | void | ) |
Init logging system.
void init_pins | ( | void | ) |
Init hardware pins.
void init_power_down | ( | uint32_t * | time_ms, |
uint32_t | debouncing_ms | ||
) |
Enter power down mode.
time_ms | pointer to a variable to save the last instant you entered power down. |
debouncing_ms | delay to power down. |
void init_rtc | ( | void | ) |
Init RTC module.
void init_sensors | ( | void | ) |
Create and setup sensors.
void init_spi | ( | void | ) |
Init SPI library.
void init_system | ( | void | ) |
Init system.
main loop state
void init_tasks | ( | void | ) |
Init tasks variable and state.
no tasks ready
void init_wdt | ( | uint8_t | wdt_timer | ) |
Init watchdog.
wdt_timer | a time value for init watchdog (WDTO_xxxx). |
void init_wire | ( | void | ) |
Init wire (i2c) library and performs checks on the bus.
ISR | ( | TIMER1_OVF_vect | ) |
Timer1 overflow interrupts routine.
Pre-load timer counter register
increment timer_counter_ms by TIMER1_INTERRUPT_TIME_MS
check if SENSORS_SAMPLE_TIME_MS ms have passed since last time. if true and if is in continuous mode and continuous start command It has been received, activate Sensor reading task
reset timer_counter_ms if it has become larger than TIMER_COUNTER_VALUE_MAX_MS
increment transaction_time by TIMER1_INTERRUPT_TIME_MS
void leaf_reading_task | ( | void | ) |
Sensors reading Task. Read data from sensors.
void load_configuration | ( | void | ) |
Load configuration from EEPROM.
read configuration from eeprom
void loop | ( | void | ) |
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
void print_configuration | ( | void | ) |
Print current configuration.
void reset_samples_buffer | ( | void | ) |
Reset samples buffers to default value.
void save_configuration | ( | bool | is_default | ) |
Save configuration to EEPROM.
is_default | if true save default configuration; if false save current configuration. |
write configuration to eeprom
void setup | ( | ) |
Arduino setup function. Init watchdog, hardware, debug, buffer and load configuration stored in EEPROM.
Arduino setup function. Init watchdog, hardware, debug and load configuration stored in EEPROM.