Documentazione del codice
The C++ API documentation is also available as doxgen documentation.
-
union addr16_t
-
struct bin_value_t
-
class BitBangedSPI
Public Functions
-
inline void begin()
-
inline void beginTransaction(SPISettings settings)
-
inline void end()
-
inline uint8_t transfer(uint8_t b)
Private Members
-
unsigned long pulseWidth
-
inline void begin()
-
struct configuration_t
- #include <i2c-leaf.h>
EEPROM saved configuration.
Public Members
-
uint8_t module_main_version
module main version
-
uint8_t module_configuration_version
module configuration version
-
uint8_t module_type
module type
-
uint8_t i2c_address
i2c address
-
bool is_oneshot
enable or disable oneshot mode
-
uint16_t leaf_calibration_threshold
-
uint8_t module_version
module version
-
bool is_continuous
enable or disable continuous mode
NOT USED enable or disable continuous mode.
-
uint16_t adc_voltage_max_panel
-
uint16_t adc_voltage_max_battery
-
float adc_voltage_offset_1
-
float adc_voltage_offset_2
-
float adc_voltage_min
-
float adc_voltage_max
-
float adc_calibration_offset[ADS1115_CHANNEL_COUNT]
-
float adc_calibration_gain[ADS1115_CHANNEL_COUNT]
-
float sensor_rad_max[ADS1115_CHANNEL_COUNT]
-
float sensor_voltage_max[ADS1115_CHANNEL_COUNT]
-
uint16_t tipping_bucket_time_ms
Tipping bucket time in milliseconds.
-
uint8_t rain_for_tip
How much mm of rain for one tip of tipping bucket rain gauge.
-
sensor_conf_t sensors[2]
sensors configurations
SensorDriver buffer for storing sensors parameter.
-
sensor_t sensors[SENSORS_MAX]
SensorDriver buffer for storing sensors parameter.
-
uint8_t sensors_count
configured sensors number
-
uint16_t report_seconds
seconds for report values
-
constantdata_t constantdata[USE_CONSTANTDATA_COUNT]
Constantdata buffer for storing constant station data parameter.
-
uint8_t constantdata_count
configured constantdata number
-
bool is_dhcp_enable
dhcp status
-
uint8_t ethernet_mac[ETHERNET_MAC_LENGTH]
ethernet mac
-
uint8_t ip[ETHERNET_IP_LENGTH]
ip address
-
uint8_t netmask[ETHERNET_IP_LENGTH]
netmask
-
uint8_t gateway[ETHERNET_IP_LENGTH]
gateway
-
uint8_t primary_dns[ETHERNET_IP_LENGTH]
primary dns
-
uint8_t module_main_version
-
struct constantdata_t
-
struct data_t
-
struct db_data_t
-
struct dbStatus_t
-
class dbThread : public Thread
Public Functions
-
dbThread(db_data_t *db_data)
Constructor to create a DB thread.
- Parametri:
db_data -- data used by thread.
-
~dbThread()
-
virtual void Cleanup()
Protected Functions
-
virtual void Run()
-
dbThread(db_data_t *db_data)
-
struct DIR
-
struct FatFileDesc
-
struct FATFS
-
struct FILINFO
-
struct float_observation_t
Public Members
-
float med[OBSERVATION_COUNT]
buffer containing the mean values calculated on a one sample buffer respectively
-
uint16_t count
number of observations
-
float *read_ptr
reader pointer to buffer (read observations for calculate report value)
-
float *write_ptr
writer pointer to buffer (add new observation)
-
float med[OBSERVATION_COUNT]
-
struct georef_t
Public Members
-
char lon[11]
longitudine in sessadecimale 5 decimali rappresentazione intera
-
char lat[11]
latitudine in sessadecimale 5 decimali rappresentazione intera
-
time_t timestamp
timestamp delle coordinate
-
cpp_freertos::MutexStandard *mutex
mutex per l'accesso ai dati
-
char lon[11]
-
struct gps_data_t
-
struct gpsStatus_t
-
class gpsThread : public Thread
Public Functions
-
gpsThread(gps_data_t *gps_data)
Constructor to create a GPS thread.
- Parametri:
gps_data -- data used by thread.
-
~gpsThread()
-
virtual void Cleanup()
Protected Functions
-
virtual void Run()
Private Members
-
gps_data_t *data
-
gpsThread(gps_data_t *gps_data)
-
struct ihex_state
Public Members
-
ihex_address_t address
-
ihex_segment_t segment
-
ihex_flags_t flags
-
uint8_t line_length
-
uint8_t length
-
uint8_t data[IHEX_LINE_MAX_LENGTH + 1]
-
ihex_address_t address
-
struct leaf_wetness_t
- #include <i2c-leaf.h>
Leaf wetness data.
Public Members
-
uint32_t time
time in seconds that indicates wet leaf
-
uint32_t time
-
struct measure_data_t
-
struct measureStatus_t
-
class measureThread : public Thread
Public Functions
-
measureThread(measure_data_t *measure_data)
-
~measureThread()
-
virtual void Cleanup()
-
void Begin()
Protected Functions
-
virtual void Run()
Private Functions
-
void reset_summary_data_in_progress()
-
void update_summary_data()
-
void doMeasure()
-
void enqueueMqttMessage(uint8_t i)
-
void get_summary_data_in_progress(uint8_t i)
Private Members
-
measure_data_t *data
-
summarydata_t summarydata_in_progress
-
SensorDriver *sd[SENSORS_MAX]
-
sensorManage sensorm[SENSORS_MAX]
-
uint8_t sensors_count
-
measureThread(measure_data_t *measure_data)
-
struct mqttMessage_t
-
struct observation_t
- #include <i2c-opc.h>
Observations values for opc.
Observations values for temperature and humidity NOT USED / typedef struct { int32_t values[OBSERVATION_COUNT]; //!< buffer containing the mean values calculated on a one sample buffer respectively uint16_t count; //!< number of observations uint32_t *read_ptr; //!< reader pointer to buffer (read observations for calculate report value) uint32_t *write_ptr; //!< writer pointer to buffer (add new observation) } observation_t;.
/********************************************************************* TYPEDEF for Finite State Machine
-
struct param
-
struct pm_value_t
-
struct publish_data_t
-
struct publishStatus_t
-
class publishThread : public Thread
Public Functions
-
publishThread(publish_data_t *publish_data)
-
~publishThread()
-
virtual void Cleanup()
Private Functions
-
bool mqttDisconnect()
-
bool mqttConnect(const bool cleanSession = true)
-
bool mqttPublish(const mqttMessage_t &mqtt_message, const bool retained)
-
bool publish_maint()
-
bool publish_status_summary()
-
void reset_status_summary()
-
bool publish_constantdata()
-
void archive()
-
bool doPublish(mqttMessage_t &mqtt_message)
-
publishThread(publish_data_t *publish_data)
-
struct readable_data_t
- #include <i2c-leaf.h>
Readable data through i2c bus.
Public Members
-
uint8_t module_type
module type
module version
-
uint8_t module_main_version
module main version
-
uint8_t module_minor_version
module minor version
-
leaf_wetness_t leaf_wetness
leaf wetness data for report
-
uint8_t module_version
module type
-
float pm_sample[OPCXX_PM_LENGTH]
-
float pm_med[OPCXX_PM_LENGTH]
-
float pm_sigma[OPCXX_PM_LENGTH]
-
uint16_t bins_med[OPCN3_BINS_LENGTH]
-
uint16_t bins_sigma[OPCN3_BINS_LENGTH]
-
pm_value_t pm1
pm1 data for report
-
pm_value_t pm25
pm25 data for report
-
pm_value_t pm10
pm10 data for report
-
bin_value_t bins[OPC_BINS_LENGTH]
bins array data for report
-
rain_t rain
rain data
-
value_t temperature
temperature data for report
-
value_t humidity
humidity data for report
-
uint8_t module_type
-
struct report_t
- #include <i2c-power.h>
report data.
Public Members
-
float rain_tips
-
float rain
-
float sample_temperature
-
float sample_humidity
-
float ist_temperature
-
float ist_humidity
-
float min_temperature
-
float min_humidity
-
float avg_temperature
-
float avg_humidity
-
float max_temperature
-
float max_humidity
-
float sigma_temperature
-
float sigma_humidity
-
uint16_t sample_speed
-
uint16_t sample_direction
-
uint16_t vavg10_speed
-
uint16_t vavg10_direction
-
uint16_t vavg_speed
-
uint16_t vavg_direction
-
uint16_t peak_gust_speed
-
uint16_t long_gust_speed
-
uint16_t avg_speed
-
uint8_t class_1
-
uint8_t class_2
-
uint8_t class_3
-
uint8_t class_4
-
uint8_t class_5
-
uint8_t class_6
-
uint16_t peak_gust_direction
-
uint16_t long_gust_direction
-
float rain_tips
-
struct rpcRecovery_t
-
struct sample_t
- #include <i2c-opc.h>
Samples values for measured opc data.
samples data
Public Members
-
float values
buffer containing the measured samples
samples buffer
-
uint8_t count
number of good samples
samples counter
-
uint8_t error_count
number of bad samples
-
int32_t values[SAMPLES_COUNT_MAX]
samples buffer
-
uint16_t count
samples counter
-
int32_t *read_ptr
reader pointer
-
int32_t *write_ptr
writer pointer
-
float value[SAMPLES_COUNT]
samples buffer
-
float *read_ptr
reader pointer
-
float *write_ptr
writer pointer
-
float values
-
struct sensor_conf_t
-
struct sensordata_t
- #include <sensor_config.h>
constant station data (station name, station height ...) parameters.
-
class SPISettings
Public Functions
-
inline SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode)
-
inline uint32_t getClockFreq() const
Private Members
-
uint32_t clockFreq
-
inline SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode)
-
struct station_t
Public Functions
-
inline station_t()
Public Members
-
char longitude[11]
longitudine in sessadecimale 5 decimali rappresentazione intera
-
char latitude[11]
latitudine in sessadecimale 5 decimali rappresentazione intera
-
char network[31]
rete osservativa della stazione
-
char ident[10]
identificativo per stazioni mobili
-
char server[41]
server RMAP
-
char ntp_server[41]
server NTP
-
char mqtt_server[41]
broker MQTT
-
int sampletime
intervallo tra le misurazioni in secondi
-
char user[10]
utente
-
char password[31]
password
-
char stationslug[31]
nome sintetico della stazione
-
char boardslug[31]
nome sintetico della board
-
char mqttrootpath[10]
radice del topic MQTT per i dati
-
char mqttmaintpath[10]
radice del topic MQTT per i dati amministrativi
-
constantdata_t constantdata[MAX_CONSTANTDATA_COUNT]
Constantdata buffer for storing constant station data parameter (metadati)
-
uint8_t constantdata_count
configured constantdata number
-
inline station_t()
-
struct stimawifiStatus_t
Public Members
-
measureStatus_t measure
Stati relativi al thread di misura.
-
publishStatus_t publish
Stati relativi al thread di pubblicazione.
-
udpStatus_t udp
Stati relativi al thread di ricezione UDP dei dati di georeferenziazione.
-
gpsStatus_t gps
Stati relativi al thread di ricezione GPS (porta seriale) dei dati di georeferenziazione.
-
dbStatus_t db
Stati relativi al thread di gestione del DataBase.
-
summaryStatus_t summary
Sommario dello stato stazione che evidenzia eventuali errori nel periodo
-
measureStatus_t measure
-
struct summaryStatus_t
-
struct udp_data_t
-
struct udpStatus_t
-
class udpThread : public Thread
Public Functions
-
udpThread(udp_data_t *udp_data)
Constructor to create a UDP thread.
- Parametri:
udp_data -- data used by thread.
-
~udpThread()
-
virtual void Cleanup()
Protected Functions
-
virtual void Run()
Private Functions
-
void doUdp()
Private Members
-
udp_data_t *data
-
udpThread(udp_data_t *udp_data)
-
struct uint16_observation_t
Public Members
-
uint16_t med[OBSERVATION_COUNT]
buffer containing the mean values calculated on a one sample buffer respectively
-
uint16_t count
number of observations
-
uint16_t *read_ptr
reader pointer to buffer (read observations for calculate report value)
-
uint16_t *write_ptr
writer pointer to buffer (add new observation)
-
uint16_t med[OBSERVATION_COUNT]
-
struct writable_data_t
- #include <i2c-leaf.h>
Writable data through i2c bus.
Public Members
-
uint8_t i2c_address
i2c address
-
bool is_oneshot
enable or disable oneshot mode
-
uint16_t leaf_calibration_threshold
-
bool is_continuous
enable or disable continuous mode
-
uint16_t adc_voltage_max_panel
-
uint16_t adc_voltage_max_battery
-
float adc_calibration_offset[ADS1115_CHANNEL_COUNT]
-
float adc_calibration_gain[ADS1115_CHANNEL_COUNT]
-
float sensor_voltage_max[ADS1115_CHANNEL_COUNT]
-
float sensor_rad_max[ADS1115_CHANNEL_COUNT]
-
uint16_t tipping_bucket_time_ms
Tipping bucket time in milliseconds.
-
uint8_t rain_for_tip
How much mm of rain for one tip of tipping bucket rain gauge.
-
sensor_conf_t sensors[2]
sensors configurations
-
float adc_voltage_offset_1
-
float adc_voltage_offset_2
-
float adc_voltage_min
-
float adc_voltage_max
-
uint8_t i2c_address
-
namespace cpp_freertos
- file index.md
- file ArduinoISP.ino
- #include "Arduino.h"
Defines
-
PROG_FLICKER
-
SPI_CLOCK
-
RESET
-
LED_HB
-
LED_ERR
-
LED_PMODE
-
PIN_MOSI
-
PIN_MISO
-
PIN_SCK
-
SERIAL
-
BAUDRATE
-
HWVER
-
SWMAJ
-
SWMIN
-
STK_OK
-
STK_FAILED
-
STK_UNKNOWN
-
STK_INSYNC
-
STK_NOSYNC
-
CRC_EOP
-
SPI_MODE0
-
beget16(addr)
-
PTIME
-
EECHUNK
Functions
-
void pulse(int pin, int times)
-
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.
- Ritorna:
void.
-
void heartbeat()
-
void reset_target(bool reset)
-
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.
- Ritorna:
void.
-
uint8_t getch()
-
void fill(int n)
-
void prog_lamp(int state)
-
uint8_t spi_transaction(uint8_t a, uint8_t b, uint8_t c, uint8_t d)
-
void empty_reply()
-
void breply(uint8_t b)
-
void get_version(uint8_t c)
-
void set_parameters()
-
void start_pmode()
-
void end_pmode()
-
void universal()
-
void flash(uint8_t hilo, unsigned int addr, uint8_t data)
-
void commit(unsigned int addr)
-
unsigned int current_page()
-
void write_flash(int length)
-
uint8_t write_flash_pages(int length)
-
uint8_t write_eeprom(unsigned int length)
-
uint8_t write_eeprom_chunk(unsigned int start, unsigned int length)
-
void program_page()
-
uint8_t flash_read(uint8_t hilo, unsigned int addr)
-
char flash_read_page(int length)
-
char eeprom_read_page(int length)
-
void read_page()
-
void read_signature()
-
void avrisp()
-
PROG_FLICKER
- file baudcheck.c
Variables
- bpsx =BAUD_RATEbps=${bpsx/L/}bps=${bps/U/}fcpux=F_CPUfcpu=${fcpux/L/}fcpu=${fcpu/U/}BAUD_SETTING=$(( ( ($fcpu + $bps * 4) / (($bps * 8))) - 1 ))BAUD_ACTUAL=$(( ($fcpu/(8 * (($BAUD_SETTING)+1))) ))BAUD_ERROR=$(( (( 100*($BAUD_ACTUAL - $bps) ) / $bps) ))ERR_TS=$(( ((( 1000*($BAUD_ACTUAL - $bps) ) / $bps) - $BAUD_ERROR * 10) ))ERR_TENTHS=$(( ERR_TS > 0 ? ERR_TS: -ERR_TS ))echo BAUD RATE CHECK: Desired: $bps
-
Real __pad0__
-
Real UBRRL =
$BAUD_SETTING
- file baudcheck.c
Variables
- bpsx =BAUD_RATEbps=${bpsx/L/}bps=${bps/U/}fcpux=F_CPUfcpu=${fcpux/L/}fcpu=${fcpu/U/}BAUD_SETTING=$(( ( ($fcpu + $bps * 4) / (($bps * 8))) - 1 ))BAUD_ACTUAL=$(( ($fcpu/(8 * (($BAUD_SETTING)+1))) ))BAUD_ERROR=$(( (( 100*($BAUD_ACTUAL - $bps) ) / $bps) ))ERR_TS=$(( ((( 1000*($BAUD_ACTUAL - $bps) ) / $bps) - $BAUD_ERROR * 10) ))ERR_TENTHS=$(( ERR_TS > 0 ? ERR_TS: -ERR_TS ))echo BAUD RATE CHECK: Desired: $bps
-
Real __pad0__
-
Real UBRRL =
$BAUD_SETTING
- file boot.h
- #include <avr/eeprom.h>#include <avr/io.h>#include <inttypes.h>#include <limits.h>
Defines
-
BOOTLOADER_SECTION
Used to declare a function or variable to be placed into a new section called .bootloader. This section and its contents can then be relocated to any address (such as the bootloader NRWW area) at link-time.
-
__COMMON_ASB
-
__COMMON_ASRE
-
BLB12
-
BLB11
-
BLB02
-
BLB01
-
boot_spm_interrupt_enable()
Enable the SPM interrupt.
-
boot_spm_interrupt_disable()
Disable the SPM interrupt.
-
boot_is_spm_interrupt()
Check if the SPM interrupt is enabled.
-
boot_rww_busy()
Check if the RWW section is busy.
-
boot_spm_busy()
Check if the SPM instruction is busy.
-
boot_spm_busy_wait()
Wait while the SPM instruction is busy.
-
__BOOT_PAGE_ERASE
-
__BOOT_PAGE_WRITE
-
__BOOT_PAGE_FILL
-
__BOOT_RWW_ENABLE
-
__BOOT_LOCK_BITS_SET
-
__boot_page_fill_short(address, data)
-
__boot_page_fill_normal(address, data)
-
__boot_page_fill_alternate(address, data)
-
__boot_page_fill_extended(address, data)
-
__boot_page_fill_extended_short(address, data)
-
__boot_page_erase_short(address)
-
__boot_page_erase_normal(address)
-
__boot_page_erase_alternate(address)
-
__boot_page_erase_extended(address)
-
__boot_page_erase_extended_short(address)
-
__boot_page_write_short(address)
-
__boot_page_write_normal(address)
-
__boot_page_write_alternate(address)
-
__boot_page_write_extended(address)
-
__boot_page_write_extended_short(address)
-
__boot_rww_enable_short()
-
__boot_rww_enable()
-
__boot_rww_enable_alternate()
-
__boot_lock_bits_set_short(lock_bits)
-
__boot_lock_bits_set(lock_bits)
-
__boot_lock_bits_set_alternate(lock_bits)
-
GET_LOW_FUSE_BITS
address to read the low fuse bits, using boot_lock_fuse_bits_get
-
GET_LOCK_BITS
address to read the lock bits, using boot_lock_fuse_bits_get
-
GET_EXTENDED_FUSE_BITS
address to read the extended fuse bits, using boot_lock_fuse_bits_get
-
GET_HIGH_FUSE_BITS
address to read the high fuse bits, using boot_lock_fuse_bits_get
-
boot_lock_fuse_bits_get_short(address)
-
boot_lock_fuse_bits_get(address)
Read the lock or fuse bits at
address
.Parameter
address
can be any of GET_LOW_FUSE_BITS, GET_LOCK_BITS, GET_EXTENDED_FUSE_BITS, or GET_HIGH_FUSE_BITS.Nota
The lock and fuse bits returned are the physical values, i.e. a bit returned as 0 means the corresponding fuse or lock bit is programmed.
-
__BOOT_SIGROW_READ
-
boot_signature_byte_get_short(addr)
-
boot_signature_byte_get(addr)
Read the Signature Row byte at
address
. For some MCU types, this function can also retrieve the factory-stored oscillator calibration bytes.Parameter
address
can be 0-0x1f as documented by the datasheet.Nota
The values are MCU type dependent.
-
boot_page_fill(address, data)
Fill the bootloader temporary page buffer for flash address with data word.
Nota
The address is a byte address. The data is a word. The AVR writes data to the buffer a word at a time, but addresses the buffer per byte! So, increment your address by 2 between calls, and send 2 data bytes in a word format! The LSB of the data is written to the lower address; the MSB of the data is written to the higher address.
-
boot_page_erase(address)
Erase the flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_page_write(address)
Write the bootloader temporary page buffer to flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_rww_enable()
Enable the Read-While-Write memory section.
-
boot_lock_bits_set(lock_bits)
Set the bootloader lock bits.
For example, to disallow the SPM instruction from writing to the Boot Loader memory section of flash, you would use this macro as such:
boot_lock_bits_set (_BV (BLB11));
Nota
In this context, a 'set bit' will be written to a zero value. Note also that only BLBxx bits can be programmed by this command.
Nota
Like any lock bits, the Boot Loader Lock Bits, once set, cannot be cleared again except by a chip erase which will in turn also erase the boot loader itself.
- Parametri:
lock_bits -- A mask of which Boot Loader Lock Bits to set.
-
boot_page_fill_safe(address, data)
Same as boot_page_fill() except it waits for eeprom and spm operations to complete before filling the page.
-
boot_page_erase_safe(address)
Same as boot_page_erase() except it waits for eeprom and spm operations to complete before erasing the page.
-
boot_page_write_safe(address)
Same as boot_page_write() except it waits for eeprom and spm operations to complete before writing the page.
-
boot_rww_enable_safe()
Same as boot_rww_enable() except waits for eeprom and spm operations to complete before enabling the RWW mameory.
-
boot_lock_bits_set_safe(lock_bits)
Same as boot_lock_bits_set() except waits for eeprom and spm operations to complete before setting the lock bits.
-
BOOTLOADER_SECTION
- file boot.h
- #include <avr/eeprom.h>#include <avr/io.h>#include <inttypes.h>#include <limits.h>
Defines
-
BOOTLOADER_SECTION
Used to declare a function or variable to be placed into a new section called .bootloader. This section and its contents can then be relocated to any address (such as the bootloader NRWW area) at link-time.
-
__COMMON_ASB
-
__COMMON_ASRE
-
BLB12
-
BLB11
-
BLB02
-
BLB01
-
boot_spm_interrupt_enable()
Enable the SPM interrupt.
-
boot_spm_interrupt_disable()
Disable the SPM interrupt.
-
boot_is_spm_interrupt()
Check if the SPM interrupt is enabled.
-
boot_rww_busy()
Check if the RWW section is busy.
-
boot_spm_busy()
Check if the SPM instruction is busy.
-
boot_spm_busy_wait()
Wait while the SPM instruction is busy.
-
__BOOT_PAGE_ERASE
-
__BOOT_PAGE_WRITE
-
__BOOT_PAGE_FILL
-
__BOOT_RWW_ENABLE
-
__BOOT_LOCK_BITS_SET
-
__boot_page_fill_short(address, data)
-
__boot_page_fill_normal(address, data)
-
__boot_page_fill_alternate(address, data)
-
__boot_page_fill_extended(address, data)
-
__boot_page_fill_extended_short(address, data)
-
__boot_page_erase_short(address)
-
__boot_page_erase_normal(address)
-
__boot_page_erase_alternate(address)
-
__boot_page_erase_extended(address)
-
__boot_page_erase_extended_short(address)
-
__boot_page_write_short(address)
-
__boot_page_write_normal(address)
-
__boot_page_write_alternate(address)
-
__boot_page_write_extended(address)
-
__boot_page_write_extended_short(address)
-
__boot_rww_enable_short()
-
__boot_rww_enable()
-
__boot_rww_enable_alternate()
-
__boot_lock_bits_set_short(lock_bits)
-
__boot_lock_bits_set(lock_bits)
-
__boot_lock_bits_set_alternate(lock_bits)
-
GET_LOW_FUSE_BITS
address to read the low fuse bits, using boot_lock_fuse_bits_get
-
GET_LOCK_BITS
address to read the lock bits, using boot_lock_fuse_bits_get
-
GET_EXTENDED_FUSE_BITS
address to read the extended fuse bits, using boot_lock_fuse_bits_get
-
GET_HIGH_FUSE_BITS
address to read the high fuse bits, using boot_lock_fuse_bits_get
-
boot_lock_fuse_bits_get_short(address)
-
boot_lock_fuse_bits_get(address)
Read the lock or fuse bits at
address
.Parameter
address
can be any of GET_LOW_FUSE_BITS, GET_LOCK_BITS, GET_EXTENDED_FUSE_BITS, or GET_HIGH_FUSE_BITS.Nota
The lock and fuse bits returned are the physical values, i.e. a bit returned as 0 means the corresponding fuse or lock bit is programmed.
-
__BOOT_SIGROW_READ
-
boot_signature_byte_get_short(addr)
-
boot_signature_byte_get(addr)
Read the Signature Row byte at
address
. For some MCU types, this function can also retrieve the factory-stored oscillator calibration bytes.Parameter
address
can be 0-0x1f as documented by the datasheet.Nota
The values are MCU type dependent.
-
boot_page_fill(address, data)
Fill the bootloader temporary page buffer for flash address with data word.
Nota
The address is a byte address. The data is a word. The AVR writes data to the buffer a word at a time, but addresses the buffer per byte! So, increment your address by 2 between calls, and send 2 data bytes in a word format! The LSB of the data is written to the lower address; the MSB of the data is written to the higher address.
-
boot_page_erase(address)
Erase the flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_page_write(address)
Write the bootloader temporary page buffer to flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_rww_enable()
Enable the Read-While-Write memory section.
-
boot_lock_bits_set(lock_bits)
Set the bootloader lock bits.
For example, to disallow the SPM instruction from writing to the Boot Loader memory section of flash, you would use this macro as such:
boot_lock_bits_set (_BV (BLB11));
Nota
In this context, a 'set bit' will be written to a zero value. Note also that only BLBxx bits can be programmed by this command.
Nota
Like any lock bits, the Boot Loader Lock Bits, once set, cannot be cleared again except by a chip erase which will in turn also erase the boot loader itself.
- Parametri:
lock_bits -- A mask of which Boot Loader Lock Bits to set.
-
boot_page_fill_safe(address, data)
Same as boot_page_fill() except it waits for eeprom and spm operations to complete before filling the page.
-
boot_page_erase_safe(address)
Same as boot_page_erase() except it waits for eeprom and spm operations to complete before erasing the page.
-
boot_page_write_safe(address)
Same as boot_page_write() except it waits for eeprom and spm operations to complete before writing the page.
-
boot_rww_enable_safe()
Same as boot_rww_enable() except waits for eeprom and spm operations to complete before enabling the RWW mameory.
-
boot_lock_bits_set_safe(lock_bits)
Same as boot_lock_bits_set() except waits for eeprom and spm operations to complete before setting the lock bits.
-
BOOTLOADER_SECTION
- file diskio.c
- #include "pff/src/pff.h"#include "pff/src/diskio.h"
Defines
-
CMD0
-
CMD1
-
ACMD41
-
CMD8
-
CMD16
-
CMD17
-
CMD24
-
CMD55
-
CMD58
-
CT_MMC
-
CT_SD1
-
CT_SD2
-
CT_BLOCK
-
CMD0
- file diskio.c
- #include "diskio.h"
- file diskio.c
- #include "pff/src/pff.h"#include "pff/src/diskio.h"
Defines
-
CMD0
-
CMD1
-
ACMD41
-
CMD8
-
CMD16
-
CMD17
-
CMD24
-
CMD55
-
CMD58
-
CT_MMC
-
CT_SD1
-
CT_SD2
-
CT_BLOCK
Functions
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void deselect(void)
-
void select(void)
-
void xmit_spi(BYTE d)
-
BYTE rcv_spi(void)
-
void dly_100us(void)
-
DSTATUS disk_initialize(void)
Variables
-
static BYTE CardType
-
CMD0
- file diskio.c
- #include "diskio.h"
- file optiboot.c
- #include <inttypes.h>#include <avr/io.h>#include <avr/pgmspace.h>#include <avr/eeprom.h>#include <string.h>#include "pff/src/pff.h"#include "boot.h"#include "pin_defs.h"#include "stk500.h"
Defines
-
FUNC_READ
-
FUNC_WRITE
-
OPTIBOOT_MAJVER
-
OPTIBOOT_MINVER
-
OPTIBOOT_CUSTOMVER
-
PGM_READ_BYTE(x)
-
UART_REPORT
-
LED_START_FLASHES
-
BAUD_RATE
-
UART
-
BAUD_SETTING
-
BAUD_ACTUAL
-
BAUD_ERROR
-
WATCHDOG_OFF
-
WATCHDOG_16MS
-
WATCHDOG_32MS
-
WATCHDOG_64MS
-
WATCHDOG_125MS
-
WATCHDOG_250MS
-
WATCHDOG_500MS
-
WATCHDOG_1S
-
WATCHDOG_2S
-
WATCHDOG_4S
-
WATCHDOG_8S
-
GETLENGTH(len)
-
RAMSTART
-
buff
-
appstart_vec
Functions
- unsigned const int __attribute__ ((section(".version")))
-
static uint8_t pagecmp()
-
uint8_t doFlash()
-
void checkFile()
-
void UART_puts(const char *str)
-
void UART_newline(void)
-
void UART_putnibble(uint8_t c)
-
void UART_puthex(uint8_t c)
-
void UART_puthex16(uint16_t n)
-
void UART_puthex32(uint32_t n)
-
void UART_putsP(const char *str, uint16_t n)
-
int main(void)
-
void putch(char ch)
-
uint8_t getch(void)
-
void getNch(uint8_t count)
-
void verifySpace()
-
void watchdogReset()
-
void watchdogConfig(uint8_t x)
-
void appStart(uint8_t rstFlags)
-
static inline void writebuffer(int8_t memtype, uint8_t *mybuff, uint16_t address, pagelen_t len)
-
static inline void read_mem(uint8_t memtype, uint16_t address, pagelen_t length)
Variables
-
const char filename[13] = "FIRMWARE.BIN\0"
-
FUNC_READ
- file optiboot.c
- #include <inttypes.h>#include <avr/io.h>#include <avr/pgmspace.h>#include <avr/eeprom.h>#include <string.h>#include "pff/src/pff.h"#include "ihex/kk_ihex_read.h"#include "boot.h"#include "pin_defs.h"#include "stk500.h"
Defines
-
FUNC_READ
-
FUNC_WRITE
-
OPTIBOOT_MAJVER
-
OPTIBOOT_MINVER
-
OPTIBOOT_CUSTOMVER
-
PGM_READ_BYTE(x)
-
UART_REPORT
-
LED_START_FLASHES
-
BAUD_RATE
-
UART
-
BAUD_SETTING
-
BAUD_ACTUAL
-
BAUD_ERROR
-
WATCHDOG_OFF
-
WATCHDOG_16MS
-
WATCHDOG_32MS
-
WATCHDOG_64MS
-
WATCHDOG_125MS
-
WATCHDOG_250MS
-
WATCHDOG_500MS
-
WATCHDOG_1S
-
WATCHDOG_2S
-
WATCHDOG_4S
-
WATCHDOG_8S
-
GETLENGTH(len)
-
RAMSTART
-
buff
-
appstart_vec
Functions
- unsigned const int __attribute__ ((section(".version")))
-
void write_flash_page()
-
static uint8_t pagecmp()
-
uint8_t doFlash()
-
void checkFile()
-
void UART_puts(const char *str)
-
void UART_newline(void)
-
void UART_putnibble(uint8_t c)
-
void UART_puthex(uint8_t c)
-
void UART_puthex16(uint16_t n)
-
void UART_puthex32(uint32_t n)
-
void UART_putsP(const char *str, uint16_t n)
-
int main(void)
-
void putch(char ch)
-
uint8_t getch(void)
-
void getNch(uint8_t count)
-
void verifySpace()
-
void watchdogReset()
-
void watchdogConfig(uint8_t x)
-
void appStart(uint8_t rstFlags)
-
static inline void writebuffer(int8_t memtype, uint8_t *mybuff, uint16_t address, pagelen_t len)
-
static inline void read_mem(uint8_t memtype, uint16_t address, pagelen_t length)
Variables
-
const char filename[13] = "FIRMWARE.BIN\0"
-
FUNC_READ
- file diskio.h
- #include "integer.h"
Enums
- file diskio.h
- #include "integer.h"
Defines
-
STA_NOINIT
-
STA_NODISK
Typedefs
-
typedef BYTE DSTATUS
Enums
-
enum DRESULT
Values:
-
enumerator RES_OK
-
enumerator RES_ERROR
-
enumerator RES_NOTRDY
-
enumerator RES_PARERR
-
enumerator RES_OK
-
enumerator RES_ERROR
-
enumerator RES_NOTRDY
-
enumerator RES_PARERR
-
enumerator RES_OK
-
STA_NOINIT
- file integer.h
- file integer.h
Typedefs
-
typedef unsigned char BYTE
-
typedef short SHORT
-
typedef unsigned short WORD
-
typedef unsigned short WCHAR
-
typedef int INT
-
typedef unsigned int UINT
-
typedef long LONG
-
typedef unsigned long DWORD
-
typedef unsigned char BYTE
- file pff.c
- #include "pff.h"#include "diskio.h"
Defines
-
_FS_32ONLY
-
ABORT(err)
-
_EXCVT
-
IsUpper(c)
-
IsLower(c)
-
IsDBCS1(c)
-
IsDBCS2(c)
-
BS_jmpBoot
-
BS_OEMName
-
BPB_BytsPerSec
-
BPB_SecPerClus
-
BPB_RsvdSecCnt
-
BPB_NumFATs
-
BPB_RootEntCnt
-
BPB_TotSec16
-
BPB_Media
-
BPB_FATSz16
-
BPB_SecPerTrk
-
BPB_NumHeads
-
BPB_HiddSec
-
BPB_TotSec32
-
BS_55AA
-
BS_DrvNum
-
BS_BootSig
-
BS_VolID
-
BS_VolLab
-
BS_FilSysType
-
BPB_FATSz32
-
BPB_ExtFlags
-
BPB_FSVer
-
BPB_RootClus
-
BPB_FSInfo
-
BPB_BkBootSec
-
BS_DrvNum32
-
BS_BootSig32
-
BS_VolID32
-
BS_VolLab32
-
BS_FilSysType32
-
MBR_Table
-
DIR_Name
-
DIR_Attr
-
DIR_NTres
-
DIR_CrtTime
-
DIR_CrtDate
-
DIR_FstClusHI
-
DIR_WrtTime
-
DIR_WrtDate
-
DIR_FstClusLO
-
DIR_FileSize
-
_FS_32ONLY
- file pff.c
- #include "pff.h"#include "diskio.h"
Defines
-
_FS_32ONLY
-
ABORT(err)
-
_EXCVT
-
IsUpper(c)
-
IsLower(c)
-
IsDBCS1(c)
-
IsDBCS2(c)
-
BS_jmpBoot
-
BS_OEMName
-
BPB_BytsPerSec
-
BPB_SecPerClus
-
BPB_RsvdSecCnt
-
BPB_NumFATs
-
BPB_RootEntCnt
-
BPB_TotSec16
-
BPB_Media
-
BPB_FATSz16
-
BPB_SecPerTrk
-
BPB_NumHeads
-
BPB_HiddSec
-
BPB_TotSec32
-
BS_55AA
-
BS_DrvNum
-
BS_BootSig
-
BS_VolID
-
BS_VolLab
-
BS_FilSysType
-
BPB_FATSz32
-
BPB_ExtFlags
-
BPB_FSVer
-
BPB_RootClus
-
BPB_FSInfo
-
BPB_BkBootSec
-
BS_DrvNum32
-
BS_BootSig32
-
BS_VolID32
-
BS_VolLab32
-
BS_FilSysType32
-
MBR_Table
-
DIR_Name
-
DIR_Attr
-
DIR_NTres
-
DIR_CrtTime
-
DIR_CrtDate
-
DIR_FstClusHI
-
DIR_WrtTime
-
DIR_WrtDate
-
DIR_FstClusLO
-
DIR_FileSize
Functions
-
static void mem_set(void *dst, int val, int cnt)
-
static int mem_cmp(const void *dst, const void *src, int cnt)
-
static CLUST get_fat(CLUST clst)
-
static DWORD clust2sect(CLUST clst)
-
static CLUST get_clust(BYTE *dir)
-
FRESULT pf_open(const char *path)
Variables
-
static FATFS *FatFs
-
_FS_32ONLY
- file pff.h
- #include "integer.h"#include "pffconf.h"
Defines
-
_PFATFS
-
CLUST
-
FA_OPENED
-
FA_WPRT
-
FA__WIP
-
FS_FAT12
-
FS_FAT16
-
FS_FAT32
-
AM_RDO
-
AM_HID
-
AM_SYS
-
AM_VOL
-
AM_LFN
-
AM_DIR
-
AM_ARC
-
AM_MASK
-
LD_WORD(ptr)
-
LD_DWORD(ptr)
-
ST_WORD(ptr, val)
-
ST_DWORD(ptr, val)
Enums
-
enum FRESULT
Values:
-
enumerator FR_OK
-
enumerator FR_DISK_ERR
-
enumerator FR_NOT_READY
-
enumerator FR_NO_FILE
-
enumerator FR_NOT_OPENED
-
enumerator FR_NOT_ENABLED
-
enumerator FR_NO_FILESYSTEM
-
enumerator FR_OK
-
enumerator FR_DISK_ERR
-
enumerator FR_NOT_READY
-
enumerator FR_NO_FILE
-
enumerator FR_NOT_OPENED
-
enumerator FR_NOT_ENABLED
-
enumerator FR_NO_FILESYSTEM
-
enumerator FR_OK
-
_PFATFS
- file pff.h
- #include "integer.h"#include "pffconf.h"
Defines
-
_PFATFS
-
CLUST
-
FA_OPENED
-
FA_WPRT
-
FA__WIP
-
FS_FAT12
-
FS_FAT16
-
FS_FAT32
-
AM_RDO
-
AM_HID
-
AM_SYS
-
AM_VOL
-
AM_LFN
-
AM_DIR
-
AM_ARC
-
AM_MASK
-
LD_WORD(ptr)
-
LD_DWORD(ptr)
-
ST_WORD(ptr, val)
-
ST_DWORD(ptr, val)
Enums
-
enum FRESULT
Values:
-
enumerator FR_OK
-
enumerator FR_DISK_ERR
-
enumerator FR_NOT_READY
-
enumerator FR_NO_FILE
-
enumerator FR_NOT_OPENED
-
enumerator FR_NOT_ENABLED
-
enumerator FR_NO_FILESYSTEM
-
enumerator FR_OK
-
enumerator FR_DISK_ERR
-
enumerator FR_NOT_READY
-
enumerator FR_NO_FILE
-
enumerator FR_NOT_OPENED
-
enumerator FR_NOT_ENABLED
-
enumerator FR_NO_FILESYSTEM
-
enumerator FR_OK
-
_PFATFS
- file pffconf.h
- file pffconf.h
Defines
-
_PFFCONF
-
_USE_MINIMALISTIC_PFF
-
_USE_READ
-
_USE_DIR
-
_USE_LSEEK
-
_USE_WRITE
-
_FS_FAT12
-
_FS_FAT16
-
_FS_FAT32
-
_USE_LCC
-
_CODE_PAGE
-
_WORD_ACCESS
-
_PFFCONF
- file pin_defs.h
Defines
-
UART_SRA
-
UART_SRB
-
UART_SRC
-
UART_SRL
-
UART_UDR
-
A0
-
A1
-
A2
-
A3
-
A4
-
A5
-
A6
-
A7
-
B0
-
B1
-
B2
-
B3
-
B4
-
B5
-
B6
-
B7
-
C0
-
C1
-
C2
-
C3
-
C4
-
C5
-
C6
-
C7
-
D0
-
D1
-
D2
-
D3
-
D4
-
D5
-
D6
-
D7
-
E0
-
E1
-
E2
-
E3
-
E4
-
E5
-
E6
-
E7
-
F0
-
F1
-
F2
-
F3
-
F4
-
F5
-
F6
-
F7
-
G0
-
G1
-
G2
-
G3
-
G4
-
G5
-
G6
-
G7
-
H0
-
H1
-
H2
-
H3
-
H4
-
H5
-
H6
-
H7
-
J0
-
J1
-
J2
-
J3
-
J4
-
J5
-
J6
-
J7
-
K0
-
K1
-
K2
-
K3
-
K4
-
K5
-
K6
-
K7
-
L0
-
L1
-
L2
-
L3
-
L4
-
L5
-
L6
-
L7
-
UART_SRA
- file pin_defs.h
Defines
-
UART_SRA
-
UART_SRB
-
UART_SRC
-
UART_SRL
-
UART_UDR
-
A0
-
A1
-
A2
-
A3
-
A4
-
A5
-
A6
-
A7
-
B0
-
B1
-
B2
-
B3
-
B4
-
B5
-
B6
-
B7
-
C0
-
C1
-
C2
-
C3
-
C4
-
C5
-
C6
-
C7
-
D0
-
D1
-
D2
-
D3
-
D4
-
D5
-
D6
-
D7
-
E0
-
E1
-
E2
-
E3
-
E4
-
E5
-
E6
-
E7
-
F0
-
F1
-
F2
-
F3
-
F4
-
F5
-
F6
-
F7
-
G0
-
G1
-
G2
-
G3
-
G4
-
G5
-
G6
-
G7
-
H0
-
H1
-
H2
-
H3
-
H4
-
H5
-
H6
-
H7
-
J0
-
J1
-
J2
-
J3
-
J4
-
J5
-
J6
-
J7
-
K0
-
K1
-
K2
-
K3
-
K4
-
K5
-
K6
-
K7
-
L0
-
L1
-
L2
-
L3
-
L4
-
L5
-
L6
-
L7
-
UART_SRA
- file spi_pins.h
- file spi_pins.h
- file stk500.h
Defines
-
STK_OK
-
STK_FAILED
-
STK_UNKNOWN
-
STK_NODEVICE
-
STK_INSYNC
-
STK_NOSYNC
-
ADC_CHANNEL_ERROR
-
ADC_MEASURE_OK
-
PWM_CHANNEL_ERROR
-
PWM_ADJUST_OK
-
CRC_EOP
-
STK_GET_SYNC
-
STK_GET_SIGN_ON
-
STK_SET_PARAMETER
-
STK_GET_PARAMETER
-
STK_SET_DEVICE
-
STK_SET_DEVICE_EXT
-
STK_ENTER_PROGMODE
-
STK_LEAVE_PROGMODE
-
STK_CHIP_ERASE
-
STK_CHECK_AUTOINC
-
STK_LOAD_ADDRESS
-
STK_UNIVERSAL
-
STK_PROG_FLASH
-
STK_PROG_DATA
-
STK_PROG_FUSE
-
STK_PROG_LOCK
-
STK_PROG_PAGE
-
STK_PROG_FUSE_EXT
-
STK_READ_FLASH
-
STK_READ_DATA
-
STK_READ_FUSE
-
STK_READ_LOCK
-
STK_READ_PAGE
-
STK_READ_SIGN
-
STK_READ_OSCCAL
-
STK_READ_FUSE_EXT
-
STK_READ_OSCCAL_EXT
-
STK_SW_MAJOR
-
STK_SW_MINOR
-
STK_OK
- file stk500.h
Defines
-
STK_OK
-
STK_FAILED
-
STK_UNKNOWN
-
STK_NODEVICE
-
STK_INSYNC
-
STK_NOSYNC
-
ADC_CHANNEL_ERROR
-
ADC_MEASURE_OK
-
PWM_CHANNEL_ERROR
-
PWM_ADJUST_OK
-
CRC_EOP
-
STK_GET_SYNC
-
STK_GET_SIGN_ON
-
STK_SET_PARAMETER
-
STK_GET_PARAMETER
-
STK_SET_DEVICE
-
STK_SET_DEVICE_EXT
-
STK_ENTER_PROGMODE
-
STK_LEAVE_PROGMODE
-
STK_CHIP_ERASE
-
STK_CHECK_AUTOINC
-
STK_LOAD_ADDRESS
-
STK_UNIVERSAL
-
STK_PROG_FLASH
-
STK_PROG_DATA
-
STK_PROG_FUSE
-
STK_PROG_LOCK
-
STK_PROG_PAGE
-
STK_PROG_FUSE_EXT
-
STK_READ_FLASH
-
STK_READ_DATA
-
STK_READ_FUSE
-
STK_READ_LOCK
-
STK_READ_PAGE
-
STK_READ_SIGN
-
STK_READ_OSCCAL
-
STK_READ_FUSE_EXT
-
STK_READ_OSCCAL_EXT
-
STK_SW_MAJOR
-
STK_SW_MINOR
-
STK_OK
- file kk_ihex.h
- #include <stdint.h>
Defines
-
KK_IHEX_VERSION
-
IHEX_LINE_MAX_LENGTH
-
IHEX_LINEAR_ADDRESS(ihex)
-
IHEX_BYTE_ADDRESS(ihex, byte_index)
-
IHEX_NEWLINE_STRING
Typedefs
-
typedef uint_fast8_t ihex_bool_t
-
typedef uint_least32_t ihex_address_t
-
typedef uint_least16_t ihex_segment_t
-
typedef int ihex_count_t
-
typedef uint8_t ihex_flags_t
-
typedef struct ihex_state kk_ihex_t
-
typedef uint8_t ihex_record_type_t
Enums
-
KK_IHEX_VERSION
- file kk_ihex_read.c
- #include "kk_ihex_read.h"
Defines
-
IHEX_START
-
ADDRESS_HIGH_MASK
-
IHEX_READ_RECORD_TYPE_MASK
-
IHEX_READ_STATE_MASK
-
IHEX_READ_STATE_OFFSET
Enums
-
enum ihex_read_state
Values:
-
enumerator READ_WAIT_FOR_START
-
enumerator READ_COUNT_HIGH
-
enumerator READ_COUNT_LOW
-
enumerator READ_ADDRESS_MSB_HIGH
-
enumerator READ_ADDRESS_MSB_LOW
-
enumerator READ_ADDRESS_LSB_HIGH
-
enumerator READ_ADDRESS_LSB_LOW
-
enumerator READ_RECORD_TYPE_HIGH
-
enumerator READ_RECORD_TYPE_LOW
-
enumerator READ_DATA_HIGH
-
enumerator READ_DATA_LOW
-
enumerator READ_WAIT_FOR_START
Functions
-
void ihex_begin_read(struct ihex_state *const ihex)
-
void ihex_read_at_address(struct ihex_state *const ihex, ihex_address_t address)
-
void ihex_read_at_segment(struct ihex_state *const ihex, ihex_segment_t segment)
-
void ihex_end_read(struct ihex_state *const ihex)
-
void ihex_read_byte(struct ihex_state *const ihex, const char byte)
- void ihex_read_bytes (struct ihex_state *restrict ihex, const char *restrict data, ihex_count_t count)
-
IHEX_START
- file kk_ihex_read.h
- #include "kk_ihex.h"
Functions
-
void ihex_begin_read(struct ihex_state *ihex)
-
void ihex_read_at_address(struct ihex_state *ihex, ihex_address_t address)
-
void ihex_read_byte(struct ihex_state *ihex, char chr)
- void ihex_read_bytes (struct ihex_state *restrict ihex, const char *restrict data, ihex_count_t count)
-
void ihex_end_read(struct ihex_state *ihex)
-
ihex_bool_t ihex_data_read(struct ihex_state *ihex, ihex_record_type_t type, ihex_bool_t checksum_mismatch)
-
void ihex_read_at_segment(struct ihex_state *ihex, ihex_segment_t segment)
-
void ihex_begin_read(struct ihex_state *ihex)
- file README.md
- file README.md
- file PetitFS.ino
- #include "PetitFS.h"#include "kk_ihex_read.h"
Functions
-
ihex_bool_t ihex_data_read(struct ihex_state *ihex, ihex_record_type_t type, ihex_bool_t checksum_error)
-
void ihex_read()
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
ihex_bool_t ihex_data_read(struct ihex_state *ihex, ihex_record_type_t type, ihex_bool_t checksum_error)
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
To use this we cannot disable device locking by the macro CONFIG_DISABLE_HAL_LOCKS in platformio.ini becouse the SPI is not mutex protected by application
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
SERIAL_TRACE_LEVEL_OFF
Debug level for disable debug on serial interface.
-
SERIAL_TRACE_LEVEL_ERROR
Debug level for print error message on serial interface.
-
SERIAL_TRACE_LEVEL_WARNING
Debug level for print warning message on serial interface.
-
SERIAL_TRACE_LEVEL_INFO
Debug level for print informations message on serial interface.
-
SERIAL_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on serial interface.
-
SERIAL_TRACE_LEVEL_TRACE
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
SENSOR_DRIVER_SERIAL_TRACE_LEVEL
Serial trace level debug for SensorDriver library.
-
SIM800_SERIAL_TRACE_LEVEL
Serial trace level debug for Sim800 library.
-
OPC_SERIAL_TRACE_LEVEL
Serial trace level debug for Opcxx library.
-
I2C_TH_SERIAL_TRACE_LEVEL
Serial trace level debug for i2c-th sketch.
-
I2C_RAIN_SERIAL_TRACE_LEVEL
Serial trace level debug for i2c-rain sketch.
-
I2C_OPC_SERIAL_TRACE_LEVEL
Serial trace level debug for i2c-opc sketch.
-
STIMA_SERIAL_TRACE_LEVEL
Serial trace level debug for stima sketch.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SERIAL_TRACE_LEVEL_OFF
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
SDCARD_LOGGING_FILE_NAME
File name for logging on SD-Card.
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
SDCARD_LOGGING_FILE_NAME
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file debug_config.h
Defines
-
ENABLE_SDCARD_LOGGING
Enable logging on SDcard define to 1 the macro to enable logging on a file on SDcard.
-
LOG_LEVEL
logging level at compile time Available levels are: LOG_LEVEL_SILENT LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_NOTICE LOG_LEVEL_TRACE LOG_LEVEL_VERBOSE
-
DEBUG_MEMORY
Activate debug of memory use and stack heap collision on serial interface.
-
LCD_TRACE_LEVEL_OFF
Debug level for print error message on lcd interface.
-
LCD_TRACE_LEVEL_ERROR
Debug level for print error message on lcd.
-
LCD_TRACE_LEVEL_WARNING
Debug level for print detailed informations message on serial interface.
-
LCD_TRACE_LEVEL_INFO
Debug level for print informations message on lcd.
-
LCD_TRACE_LEVEL_DEBUG
Debug level for print verbose informations message on lcd.
-
OK_STRING
"OK" string message.
-
ERROR_STRING
"ERROR" string message.
-
FAIL_STRING
"FAIL" string message.
-
YES_STRING
"YES" string message.
-
NO_STRING
"NO" string message.
-
ON_STRING
"ON" string message.
-
OFF_STRING
"OFF" string message.
-
SAVE_STRING
"SAVE" string message.
-
STIMA_LCD_TRACE_LEVEL
Lcd trace level debug for stima sketch.
-
ENABLE_SDCARD_LOGGING
- file i2c_config.h
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_SET_ERROR_COUNT
I2C error count for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_SET_ERROR_COUNT
I2C error count for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_SET_ERROR_COUNT
I2C error count for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz. 30418,25 Hz : minimum freq with prescaler set to 1 and CPU clock to 16MHz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file i2c_config.h
Defines
-
I2C_BUS_CLOCK
I2C bus clock in Hertz.
-
I2C_MAX_DATA_LENGTH
Max length in bytes for i2c bus data buffer.
-
I2C_MAX_ERROR_COUNT
Max i2c error for bus restart.
-
I2C_BUS_CLOCK
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file json_config.h
Defines
-
JSON_BUFFER_LENGTH
Length in bytes for JSON data buffer.
-
JSON_BUFFER_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_RPC_TOPIC_LENGTH
Length in bytes for mqtt rpc topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_RPC_COMMAND_LENGTH
Length in bytes for mqtt rpc command message.
-
MQTT_RPC_RESPONSE_LENGTH
Length in bytes for mqtt rpc response message.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_RPC_TOPIC
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_RPC_TOPIC_LENGTH
Length in bytes for mqtt rpc topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_RPC_COMMAND_LENGTH
Length in bytes for mqtt rpc command message.
-
MQTT_RPC_RESPONSE_LENGTH
Length in bytes for mqtt rpc response message.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_RPC_TOPIC
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_RPC_TOPIC_LENGTH
Length in bytes for mqtt rpc topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_RPC_COMMAND_LENGTH
Length in bytes for mqtt rpc command message.
-
MQTT_RPC_RESPONSE_LENGTH
Length in bytes for mqtt rpc response message.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
STATIONSLUG_LENGTH
Length in bytes for station slug.
-
BOARDSLUG_LENGTH
Length in bytes for board slug.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_RPC_TOPIC
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
DEFAULT_STATIONSLUG
Default station slug.
-
DEFAULT_BOARDSLUG
Default board slug.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_RPC_TOPIC_LENGTH
Length in bytes for mqtt rpc topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_RPC_COMMAND_LENGTH
Length in bytes for mqtt rpc command message.
-
MQTT_RPC_RESPONSE_LENGTH
Length in bytes for mqtt rpc response message.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
STATIONSLUG_LENGTH
Length in bytes for station slug.
-
BOARDSLUG_LENGTH
Length in bytes for board slug.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_RPC_TOPIC
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
DEFAULT_STATIONSLUG
Default station slug.
-
DEFAULT_BOARDSLUG
Default board slug.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_RPC_TOPIC_LENGTH
Length in bytes for mqtt rpc topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_RPC_COMMAND_LENGTH
Length in bytes for mqtt rpc command message.
-
MQTT_RPC_RESPONSE_LENGTH
Length in bytes for mqtt rpc response message.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_RPC_TOPIC
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file mqtt_config.h
Defines
-
MQTT_ROOT_TOPIC_LENGTH
Length in bytes for mqtt root topic.
-
MQTT_MAINT_TOPIC_LENGTH
Length in bytes for mqtt maint topic.
-
MQTT_SUBSCRIBE_TOPIC_LENGTH
Length in bytes for mqtt subscibe topic.
-
MQTT_SENSOR_TOPIC_LENGTH
Length in bytes for mqtt sensor topic.
-
MQTT_CLIENT_ID_LENGTH
Length in bytes for mqtt client id.
-
MQTT_MESSAGE_LENGTH
Length in bytes for mqtt message.
-
MQTT_SERVER_LENGTH
Length in bytes for mqtt server.
-
MQTT_USERNAME_LENGTH
Length in bytes for mqtt username.
-
MQTT_PASSWORD_LENGTH
Length in bytes for mqtt password.
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
MQTT_DEFAULT_SERVER
Default MQTT server.
-
MQTT_DEFAULT_PORT
Default MQTT server port.
-
MQTT_DEFAULT_ROOT_TOPIC
Default MQTT root topic.
-
MQTT_DEFAULT_MAINT_TOPIC
Default MQTT maint topic.
-
MQTT_DEFAULT_SUBSCRIBE_TOPIC
Default MQTT subscibe topic.
-
MQTT_DEFAULT_USERNAME
Default MQTT username.
-
MQTT_DEFAULT_PASSWORD
Default MQTT password.
-
MQTT_STATUS_TOPIC
Default MQTT status topic for printing on connect/disconnect message.
-
MQTT_ON_CONNECT_MESSAGE
MQTT on connect message.
-
MQTT_ON_DISCONNECT_MESSAGE
MQTT on disconnect message.
-
MQTT_ON_ERROR_MESSAGE
MQTT on error message.
-
MQTT_ROOT_TOPIC_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sdcard_config.h
Defines
-
SDCARD_FILES_NAME_MAX_LENGTH
Length in bytes for sdcard file name data buffer.
-
SDCARD_FILES_NAME_MAX_LENGTH
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-2.5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_PWR
Enable if you want use power (solar panel and battery) sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10'.
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust Wind Speed and Direction over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want class Wind Speed over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-2.5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10'.
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust Wind Speed and Direction over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want class Wind Speed over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_THR
Enable if you want use one module for TH and RAIN. Disable if you want use one module for TH and one for RAIN.
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_TH_SENSORS
-
USE_RAIN_SENSORS
-
USE_MODULE_THR
-
USE_MODULE_TH
-
USE_MODULE_RAIN
-
SENSORS_MAX
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10'.
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust Wind Speed and Direction over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want class Wind Speed over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10'.
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust Wind Speed and Direction over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want maximum wind gust speed and direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
SENSORS_MAX
-
SENSORS_UNIQUE_MAX
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_SPS
Enable if you want use Sensirion SPS30 PM sensor.
-
USE_SENSOR_SCD
Enable if you want use Sensiorion SCD30 CO2 sensor.
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_SHT
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_POW
Enable if you want use Power panel and battery sensor.
-
USE_SENSOR_DES
Enable if you want use DigitEco Wind Speed sensor.
-
USE_SENSOR_DED
Enable if you want use DigitEco Wind Direction sensor.
-
USE_SENSOR_DSR
Enable if you want use DigitEco Global Solar Radiation sensor.
-
USE_SENSOR_VSR
Enable if you want use 0-5V High Resolution Global Solar Radiation sensor.
-
USE_SENSOR_DSA
Enable if you want average Global Solar Radiation sensor.
-
USE_SENSOR_DWA
Enable if you want vectorial average Wind Speed and Direction over 10' (WMO).
-
USE_SENSOR_DWB
Enable if you want vectorial average Wind Speed and Direction over report time.
-
USE_SENSOR_DWC
Enable if you want gust and long gust Wind Speed over report time.
-
USE_SENSOR_DWD
Enable if you want average Wind Speed over report time.
-
USE_SENSOR_DWE
Enable if you want frequency class Wind Speed over report time.
-
USE_SENSOR_DWF
Enable if you want gust and long gust Wind Direction over report time.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
SENSORS_MAX
- file sensors_config.h
Defines
-
USE_JSON
Enable if you want use json library for json response (getJson function in SensorDriver).
-
USE_SENSOR_ADT
Enable if you want use ADT7420 sensor.
-
USE_SENSOR_HIH
Enable if you want use HIH6100 sensor.
-
USE_SENSOR_HYT
Enable if you want use HYT271 or HYT221 sensor.
-
USE_SENSOR_DEP
Enable if you want use DigitEco Power sensor.
-
USE_SENSOR_OA2
Enable if you want use OPC PM1, PM2.5, PM10 continuous average value.
-
USE_SENSOR_OA3
-
USE_SENSOR_OB2
Enable if you want use OPC PM1, PM2.5, PM10 continuous standard deviation value.
-
USE_SENSOR_OB3
-
USE_SENSOR_OC2
Enable if you want use OPC BINS continuous average value.
-
USE_SENSOR_OC3
-
USE_SENSOR_OD2
Enable if you want use OPC BINS continuous standard deviation value.
-
USE_SENSOR_OD3
-
USE_SENSOR_OE3
-
USE_SENSOR_LWT
Enable if you want use leaf wetness time continuous value.
-
USE_SENSOR_HI7
Enable if you want use SI7021 sensor.
-
USE_SENSOR_BMP
Enable if you want use Bmp085 sensor.
-
USE_SENSOR_DW1
Enable if you want use DW1 sensor.
-
USE_SENSOR_TBR
Enable if you want use Tipping bucket rain gauge sensor.
-
USE_SENSOR_STH
Enable if you want use Temperature and humidity oneshot sensor.
-
USE_SENSOR_ITH
Enable if you want use Temperature and humidity continuous istantaneous sensor.
-
USE_SENSOR_NTH
Enable if you want use Temperature and humidity continuous minium sensor.
-
USE_SENSOR_MTH
Enable if you want use Temperature and humidity continuous average sensor.
-
USE_SENSOR_XTH
Enable if you want use Temperature and humidity continuous maximum sensor.
-
USE_SENSOR_SSD
Enable if you want use SSD011 oneshot sensor.
-
USE_SENSOR_ISD
Enable if you want use SSD011 report istantaneous sensor.
-
USE_SENSOR_NSD
Enable if you want use SSD011 report minium sensor.
-
USE_SENSOR_MSD
Enable if you want use SSD011 report average sensor.
-
USE_SENSOR_XSD
Enable if you want use SSD011 report maximum sensor.
-
USE_SENSOR_SMI
Enable if you want use MICS4514 oneshot sensor.
-
USE_SENSOR_IMI
Enable if you want use MICS4514 report istantaneous sensor.
-
USE_SENSOR_NMI
Enable if you want use MICS4514 report minium sensor.
-
USE_SENSOR_MMI
Enable if you want use MICS4514 report average sensor.
-
USE_SENSOR_GWS
Enable if you want use Gill Windsonic sensor.
-
USE_SENSOR_XMI
Enable if you want use MICS4514 report maximum sensor.
-
USE_SENSOR_RF24
Enable if you want use Radio RF24 sensor.
-
RAIN_FOR_TIP
How much mm of rain for one tip of tipping bucket rain gauge.
-
VALUES_TO_READ_FROM_SENSOR_COUNT
Maximum number of values to be read by the sensors.
-
JSONS_TO_READ_FROM_SENSOR_COUNT
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
STATISTICAL_DATA_COUNT
How much observations are needed for generating a report.
-
OBSERVATION_COUNT
Observations buffer length.
-
OBSERVATION_COUNT_TOLLERANCE
Tolerance of observations for generating a valid report.
-
USE_JSON
- file i2c-leaf-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module major version.
-
MODULE_MINOR_VERSION
Module major version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_IS_CONTINUOUS
Continuous mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_DEFAULT_LEAF_CALIBRATION_THRESHOLD
Default threshold for ADC wet/dry (0-1023).
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
LEAF_POWER_PIN
Output pin for power on and power off leaf sensor.
-
LEAF_ANALOG_PIN
Input pin for reading leaf sensor value.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
I2C_MAX_TIME
Max i2c time in seconds before i2c restart.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
USE_LEAF_POWER_DOWN
Enable or disable power down for leaf sensor.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 1000 - 60000 [ms] must be integer multiple of TIMER1_INTERRUPT_TIME_MS !!!
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: 100 - 8000 [ms].
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 8 MHz.
-
TIMER_COUNTER_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
LEAF_VALUES_READ_DELAY_MS
Reading delay from measure to get one data.
-
LEAF_READ_COUNT
Maximum number of leaf reading to get one data.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-leaf.h
- #include "i2c-leaf-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <registers-leaf.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
Functions
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_report_buffer(void)
-
void reset_buffer(void)
Reset sample and observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g, typename value_v>
void addSample(sample_g *sample, observation_g *observation, value_v value)
-
template<typename observation_g, typename value_v>
value_v readCurrentObservation(observation_g *buffer)
-
template<typename observation_g, typename value_v>
void writeCurrentObservation(observation_g *buffer, value_v value)
-
template<typename observation_g, typename length_v>
void resetObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void resetBackPmObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void incrementObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v, typename value_v>
void addObservation(observation_g *buffer, length_v length, value_v value)
-
template<typename observation_g, typename length_v, typename value_v>
value_v readBackObservation(observation_g *buffer, length_v length)
-
void samples_processing(bool is_force_processing)
Main routine for processing the samples to calculate an observation.
- Parametri:
is_force_processing -- if is true, force the calculation of the observation provided there is a minimum number of samples.
- Ritorna:
void.
-
void leaf_reading_task(void)
Sensors reading Task. Read data from sensors.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
I2C receive interrupt handler.
- Ritorna:
void.
Variables
-
configuration_t configuration
Configuration data.
-
readable_data_t readable_data_1
First readable i2c register.
-
readable_data_t readable_data_2
Second readable i2c register.
-
readable_data_t *readable_data_read_ptr
Pointer for read data in i2c readable register.
-
readable_data_t *readable_data_write_ptr
Pointer for write data in i2c readable register.
-
readable_data_t *readable_data_temp_ptr
Temporary pointer for exchange read and write pointer for i2c readable register.
-
writable_data_t writable_data
Writable i2c register.
-
writable_data_t *writable_data_ptr
Pointer for read and write data in i2c writable register.
-
uint8_t readable_data_address
Address of readable i2c register.
-
uint8_t readable_data_length
Number of bytes to read at readable_data_address.
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
Buffer for i2c received data.
-
uint8_t lastcommand
last command received.
command to be executed.
-
uint8_t i2c_error
Number of i2c error.
-
uint8_t i2c_time
Time in seconds from last I2C reset.
-
uint8_t ready_tasks_count
Number of tasks ready to execute.
-
uint32_t awakened_event_occurred_time_ms
System time (in millisecond) when the system has awakened from power down.
-
bool is_start
Execute start command.
-
bool is_stop
Execute stop command.
-
bool is_test_read
Received command is in continuous mode.
-
bool is_leaf_init
-
bool is_leaf_wet
-
uint8_t samples_count
Number of samples to be acquired for make one observation.
-
bool do_buffers_reset
Force a buffers reset.
-
uint16_t timer_counter_ms
Timer counter variable for execute timed task with time multiple of base Timer1 time.
-
leaf_reading_state_t leaf_reading_state
-
bool inside_transaction
Status of command transaction.
-
uint16_t transaction_time
Timer counter variable for compute command transaction timeout.
-
bool is_event_leaf_reading
Enable or disable the Sensors reading task.
-
bool is_event_command_task
Enable or disable the Command task.
-
enum state_t
- file i2c-leaf.ino
- #include "i2c-leaf.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
Timer1 overflow interrupts routine.
- Ritorna:
void.
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void leaf_reading_task()
Sensors reading Task. Read data from sensors.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_report_buffer()
-
void command_task()
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.
- Ritorna:
void.
-
void copy_buffers()
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-opc-config.h
- #include <sensors_config.h>
Defines
-
MODULE_VERSION
Module version.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_IS_CONTINUOUS
Continuous mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
OPC_POWER_PIN
Output pin for power on and power off opc sensor.
-
OPC_SPI_POWER_PIN
-
OPC_CHIP_SELECT
Output pin for spi chip select opc sensor.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
USE_OPC_POWER_DOWN
Enable or disable power down for opc sensor.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 100 - 60000 [ms] must be integer multiple of TIMER1_INTERRUPT_TIME_MS !!!
-
SENSORS_SAMPLE_COUNT_MIN
Sample count minimum in OBSERVATIONS_MINUTES minutes.
-
SENSORS_SAMPLE_COUNT_MAX
Sample count maximum in OBSERVATIONS_MINUTES minutes.
-
SENSORS_SAMPLE_COUNT_TOLERANCE
Maximum invalid sample count for generate a valid observations.
-
USE_SENSORS_COUNT
Sensors count.
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: 100 - 8000 [ms].
-
TIMER1_OVERFLOW_TIME_MS
Timer1 timer overflow with 1024 prescaler at 8 or 16 MHz.
Timer1 timer overflow with 1024 prescaler at 8 MHz.
Timer1 timer overflow with 1024 prescaler at 16 MHz.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 8 MHz.
-
TIMER1_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
OPC_RETRY_COUNT_MAX
Maximum number of retry for opc reading.
-
MODULE_VERSION
- file i2c-opc.h
- #include "i2c-opc-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <registers-opc.h>#include <opcxx.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum opc_state_t
OPC setup and reading task finite state machine.
Values:
-
enumerator OPC_INIT
-
enumerator OPC_SWITCH_ON
-
enumerator OPC_SEND_COMMAND_FAN_DAC
-
enumerator OPC_WAIT_RESULT_FAN_DAC
-
enumerator OPC_SEND_COMMAND_FAN_ON
-
enumerator OPC_WAIT_RESULT_FAN_ON
-
enumerator OPC_SEND_COMMAND_LASER_ON
-
enumerator OPC_WAIT_RESULT_LASER_ON
-
enumerator OPC_SEND_COMMAND_READ_HISTOGRAM
-
enumerator OPC_WAIT_RESULT_READ_HISTOGRAM
-
enumerator OPC_READ_HISTOGRAM
-
enumerator OPC_END
performs end operations and deactivate task
-
enumerator OPC_WAIT_STATE
non-blocking waiting time
-
enumerator OPC_INIT
Functions
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g, typename values_v, typename value_v>
void addSample(sample_g *sample, observation_g *observation, values_v *values, value_v value)
-
template<typename observation_g, typename value_v>
value_v readCurrentObservation(observation_g *buffer)
-
template<typename observation_g, typename value_v>
void writeCurrentObservation(observation_g *buffer, value_v value)
-
template<typename observation_g, typename length_v>
void resetObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void resetBackPmObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void incrementObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v, typename value_v>
void addObservation(observation_g *buffer, length_v length, value_v value)
-
template<typename observation_g, typename length_v, typename value_v>
value_v readBackObservation(observation_g *buffer, length_v length)
-
void samples_processing(bool is_force_processing)
Main routine for processing the samples to calculate an observation.
- Parametri:
is_force_processing -- if is true, force the calculation of the observation provided there is a minimum number of samples.
- Ritorna:
void.
-
bool observations_processing(void)
Main routine for processing the observations to calculate a value for report.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g>
bool make_observation_from_samples(bool is_force_processing, sample_g *sample, observation_g *observation)
-
template<typename sample_g, typename observation_g, typename value_v, typename val_v>
bool make_value_from_samples_and_observations(sample_g *sample, observation_g *observation, value_v *value)
-
void opc_task(void)
Opc setup and reading Task. Read data from OPC.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t i2c_error
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool is_start
-
bool is_stop
-
bool is_oneshot
Received command is in oneshot mode.
-
bool is_continuous
Received command is in continuous mode.
-
float_observation_t pm1_observations
-
float_observation_t pm25_observations
-
float_observation_t pm10_observations
-
uint16_observation_t bins_observations[OPC_BINS_LENGTH]
-
uint8_t samples_count
-
bool do_buffers_reset
-
uint16_t timer_counter
Timer counter variable for execute timed task with time multiple of base Timer1 time.
-
state_t state
-
opc_state_t opc_state
Current sensors reading task state.
-
bool is_opc_setted
-
bool is_opc_first_read
-
uint8_t histogram_error_count
-
bool is_event_opc_task
Enable or disable the OPC task.
-
bool is_event_command_task
-
enum state_t
- file i2c-opc.ino
- #include "i2c-opc.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g, typename values_v, typename value_v>
void addSample(sample_g *sample, observation_g *observation, values_v *values, value_v value)
-
template<typename observation_g, typename value_v>
value_v readCurrentObservation(observation_g *buffer)
-
template<typename observation_g, typename value_v>
void writeCurrentObservation(observation_g *buffer, value_v value)
-
template<typename observation_g, typename length_v>
void resetObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void resetBackObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v>
void incrementObservation(observation_g *buffer, length_v length)
-
template<typename observation_g, typename length_v, typename value_v>
void addObservation(observation_g *buffer, length_v length, value_v value)
-
template<typename observation_g, typename length_v, typename value_v>
value_v readBackObservation(observation_g *buffer, length_v length)
-
void samples_processing(bool is_force_processing)
Main routine for processing the samples to calculate an observation.
- Parametri:
is_force_processing -- if is true, force the calculation of the observation provided there is a minimum number of samples.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g>
bool make_observation_from_samples(bool is_force_processing, sample_g *sample, observation_g *observation)
-
bool observations_processing()
Main routine for processing the observations to calculate a value for report.
- Ritorna:
void.
-
template<typename sample_g, typename observation_g, typename value_v, typename val_v>
bool make_value_from_samples_and_observations(sample_g *sample, observation_g *observation, value_v *value)
-
void opc_task()
Opc setup and reading Task. Read data from OPC.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_observations_buffer()
Reset observations buffers to default value.
- Ritorna:
void.
-
void command_task()
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.
- Ritorna:
void.
-
void tests()
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-power-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in stima_module.h.
-
CONFIGURATION_DEFAULT_ONESHOT
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
POWER_ADC_CHANNEL_INPUT_PANEL
Input channel for panel.
-
POWER_ADC_CHANNEL_INPUT_BATTERY
Input channel for battery.
-
ADC_GND_I2C_ADDRESS
-
ADC_VDD_I2C_ADDRESS
-
ADC_SCL_I2C_ADDRESS
-
ADC_SDA_I2C_ADDRESS
-
ADC_I2C_ADDRESS
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_MAX_PANEL
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_MAX_BATTERY
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 100 - 60000 [ms] must be integer multiple of TIMER1_INTERRUPT_TIME_MS !!!
-
RMAP_REPORT_SAMPLE_ERROR_MAX_PERC
Sample maximum error in percent for one observation.
-
RMAP_REPORT_SAMPLE_MIN_TIME
Sample minimun time for elaborate one observation (seconds).
-
USE_SENSORS_COUNT
Sensors count.
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: 100 - 8000 [ms].
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 16 MHz.
-
TIMER_COUNTER_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
TIMER_COUNTER_VALUE_MAX_S
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-power.h
- #include "i2c-power-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <ADS1115.h>#include <registers-power.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum power_state_t
POWER setup and reading task finite state machine.
Values:
-
enumerator POWER_INIT
-
enumerator POWER_READING_PANEL
-
enumerator POWER_READING_BATTERY
-
enumerator POWER_ELABORATE
-
enumerator POWER_END
performs end operations and deactivate task
-
enumerator POWER_WAIT_STATE
non-blocking waiting time
-
enumerator POWER_INIT
Functions
-
ADS1115 adc1(ADC_I2C_ADDRESS)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_adc(void)
Init ADC converter.
Init ADC hardware.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests(void)
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void reset_buffer(void)
Reset sample and observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void make_report(bool init = false)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void power_task(void)
Setup and reading Task. Read voltage from panel and battery.
- Ritorna:
void.
-
void power_task_hr(void)
Setup and reading Task. Read voltage from panel and battery Higt resolution.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t i2c_error
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
uint8_t lastcommand
-
bool is_start
-
bool is_stop
-
bool is_test_read
-
bool is_oneshot
-
bool is_continuous
-
bool is_test
Received command is in test mode.
If true, reading value from sensors for testing purpose.
Execute stop command in test mode.
-
int16_t sample_panel
-
int16_t sample_battery
-
int16_t average_panel
-
int16_t average_battery
-
uint16_t samples_count_panel
Number of samples to be acquired for make one panel observation.
-
uint16_t samples_error_count_panel
Number of error while acquire samples for make one panel observation.
-
uint16_t samples_count_battery
Number of samples to be acquired for make one battery observation.
-
uint16_t samples_error_count_battery
Number of error while acquire samples for make one battery observation.
-
uint16_t timer_counter_ms
-
uint16_t timer_counter_s
-
state_t state
-
power_state_t power_state
Current sensors reading task state.
-
bool is_event_power_task
Enable or disable the POWER task.
-
bool is_event_command_task
-
enum state_t
- file i2c-power.ino
- #include "i2c-power.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_adc()
Init ADC converter.
Init ADC hardware.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void make_report(bool init)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void power_task()
Setup and reading Task. Read voltage from panel and battery.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_data(volatile readable_data_t *ptr)
-
void command_task()
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.
- Ritorna:
void.
-
void copy_buffers()
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-radiation-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_ONESHOT
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
ADC_GND_I2C_ADDRESS
-
ADC_VDD_I2C_ADDRESS
-
ADC_SCL_I2C_ADDRESS
-
ADC_SDA_I2C_ADDRESS
-
ADC_I2C_ADDRESS
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_OFFSET_1
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_OFFSET_2
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_GAIN_1
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_GAIN_2
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_MIN
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_MAX
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_OFFSET
-
CONFIGURATION_DEFAULT_ADC_VOLTAGE_GAIN
-
CONFIGURATION_DEFAULT_SENSOR_VOLTAGE_MAX
-
CONFIGURATION_DEFAULT_SENSOR_RADIATION_MAX
-
ACQUISITION_COUNT_FOR_POWER_RESET
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 100 - 60000 [ms] must be integer multiple of TIMER1_INTERRUPT_TIME_MS !!!
-
RMAP_REPORT_SAMPLE_ERROR_MAX_PERC
Sample maximum error in percent for one observation.
-
RMAP_REPORT_SAMPLE_MIN_TIME
Sample minimun time for elaborate one observation (seconds).
-
USE_SENSORS_COUNT
Sensors count.
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: 100 - 8000 [ms].
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 16 MHz.
-
TIMER_COUNTER_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
TIMER_COUNTER_VALUE_MAX_S
-
SOLAR_RADIATION_READ_DELAY_MS
Reading delay.
-
SOLAR_RADIATION_VALUES_READ_DELAY_MS
Reading delay.
-
SOLAR_RADIATION_READ_COUNT
number of read.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-radiation.h
- #include "i2c-radiation-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <ADS1115.h>#include <registers-radiation.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum solar_radiation_state_t
RADIATION setup and reading task finite state machine.
Values:
-
enumerator SOLAR_RADIATION_INIT
-
enumerator SOLAR_RADIATION_READING
-
enumerator SOLAR_RADIATION_ELABORATE
-
enumerator SOLAR_RADIATION_END
performs end operations and deactivate task
-
enumerator SOLAR_RADIATION_WAIT_STATE
non-blocking waiting time
-
enumerator SOLAR_RADIATION_INIT
-
enum solar_radiation_hr_state_t
Values:
-
enumerator SOLAR_RADIATION_HR_INIT
-
enumerator SOLAR_RADIATION_HR_READ
-
enumerator SOLAR_RADIATION_HR_EVALUATE
-
enumerator SOLAR_RADIATION_HR_PROCESS
-
enumerator SOLAR_RADIATION_HR_END
performs end operations and deactivate task
-
enumerator SOLAR_RADIATION_HR_WAIT_STATE
non-blocking waiting time
-
enumerator SOLAR_RADIATION_HR_INIT
Functions
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_adc(void)
Init ADC converter.
Init ADC hardware.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests(void)
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void reset_buffer(void)
Reset sample and observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void make_report(bool init = false)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void solar_radiation_task(void)
Wind setup and reading Task. Read data from RADIATION.
- Ritorna:
void.
-
void solar_radiation_task_hr(void)
Wind setup and reading Task. Read data from RADIATION.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t i2c_error
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
uint8_t lastcommand
-
bool is_start
-
bool is_stop
-
bool is_test_read
-
bool is_oneshot
-
bool is_continuous
-
bool is_test
-
int16_t sample
-
int16_t average
-
uint8_t solar_radiation_acquisition_count
-
uint16_t samples_count
-
uint16_t samples_error_count
Number of error while acquire samples for make one observation.
-
uint16_t timer_counter_ms
-
uint16_t timer_counter_s
-
state_t state
-
solar_radiation_state_t solar_radiation_state
Current sensors reading task state.
-
solar_radiation_hr_state_t solar_radiation_hr_state
-
bool is_event_solar_radiation_task
Enable or disable the RADIATION task.
-
bool is_event_command_task
-
enum state_t
- file i2c-radiation.ino
- #include "i2c-radiation.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_adc()
Init ADC converter.
Init ADC hardware.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void make_report(bool init)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_data(volatile readable_data_t *ptr)
-
void command_task()
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.
- Ritorna:
void.
-
void copy_buffers()
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-rain-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
TIPPING_BUCKET_PIN
Interrupt pin for tipping bucket rain gauge.
-
CONFIGURATION_DEFAULT_TIPPING_BUCKET_TIME_MS
Tipping bucket time in milliseconds.
-
CONFIGURATION_DEFAULT_RAIN_FOR_TIP
brief How much mm/10 of rain for one tip of tipping bucket rain gauge.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_IS_CONTINUOUS
Continuous mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
I2C_MAX_TIME
Max i2c time in seconds before i2c restart.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: 100 - 8000 [ms].
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-rain.h
- #include "i2c-rain-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <typedef.h>#include <registers-rain.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum tipping_bucket_state_t
Tipping bucket task finite state machine.
Values:
-
enumerator TIPPING_BUCKET_INIT
init task variables and wait half debounce time
-
enumerator TIPPING_BUCKET_READ
read rain tips from variable shared with tipping bucket interrupt, validate it for spike re-reading tipping bucket signal and wait double debounce time
-
enumerator TIPPING_BUCKET_COUNT
validate re-reading tipping bucket signal and increment total tips
-
enumerator TIPPING_BUCKET_END
wait for the tipping bucket switch return open and performs end operations and deactivate task
-
enumerator TIPPING_BUCKET_WAIT_STATE
non-blocking waiting time
-
enumerator TIPPING_BUCKET_INIT
Functions
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests(void)
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void reset_buffers(void)
Reset buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void tipping_bucket_task(void)
Tipping bucket task.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void tipping_bucket_interrupt_handler(void)
Tipping bucket interrupt handler.
- Ritorna:
void.
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t lastcommand
-
uint8_t i2c_error
-
uint8_t i2c_time
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
bool is_start
-
bool is_stop
-
bool is_test
-
bool is_started
Start command is active and measure is active.
-
rain_t rain
Rain data.
-
state_t state
-
tipping_bucket_state_t tipping_bucket_state
Current tipping bucket task state.
-
bool is_event_tipping_bucket
Enable or disable the Tipping Bucket task.
-
bool is_event_command_task
-
enum state_t
- file i2c-rain.ino
- #include "i2c-rain.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void init_tipping_bucket_interrupt()
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void tipping_bucket_interrupt_handler()
Tipping bucket interrupt handler.
- Ritorna:
void.
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void tipping_bucket_task()
Tipping bucket task.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_buffers()
Reset buffers to default value.
- Ritorna:
void.
-
void command_task()
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.
- Ritorna:
void.
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-th-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
TH_POWER_PIN
Output pin for power on and power off th sensor.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSOR_ERROR_COUNT_MAX
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 2000 - 8000 [ms] setting it to 3980 ms we gain 20 ms every sample, 300 ms every observation, 4500 every report (15minutes)
-
SAMPLES_COUNT_MAX
-
OBSERVATION_SAMPLES_COUNT
Sample count in OBSERVATIONS_MINUTES minutes.
-
OBSERVATION_SAMPLE_ERROR_MAX
Maximum invalid sample count for generate a valid observations.
-
RMAP_REPORT_ERROR_MAX
-
RMAP_REPORT_VALID_MIN
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler.
-
TIMER1_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
SENSORS_RETRY_COUNT_MAX
Maximum number of retry for sensors reading.
-
SENSORS_RETRY_DELAY_MS
Waiting for reading between two attempts.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-th-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
TH_POWER_PIN
Output pin for power on and power off th sensor.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
SENSOR_ERROR_COUNT_MAX
-
OBSERVATIONS_MINUTES
How much minutes for calculate an observations by processing sampling. Tipically 1-10 minutes.
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 2000 - 8000 [ms] setting it to 3980 ms we gain 20 ms every sample, 300 ms every observation, 4500 every report (15minutes)
-
SAMPLES_COUNT_MAX
-
OBSERVATION_SAMPLES_COUNT
Sample count in OBSERVATIONS_MINUTES minutes.
-
OBSERVATION_SAMPLE_ERROR_MAX
Maximum invalid sample count for generate a valid observations.
-
RMAP_REPORT_ERROR_MAX
-
RMAP_REPORT_VALID_MIN
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler.
-
TIMER1_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
SENSORS_RETRY_COUNT_MAX
Maximum number of retry for sensors reading.
-
SENSORS_RETRY_DELAY_MS
Waiting for reading between two attempts.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-th.h
- #include "i2c-th-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <registers-th.h>#include <SensorDriver.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum sensors_reading_state_t
Sensors reading task finite state machine.
Values:
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_SETUP_CHECK
check errors and if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
-
enumerator SENSORS_READING_PREPARE
-
enumerator SENSORS_READING_IS_PREPARED
-
enumerator SENSORS_READING_GET
-
enumerator SENSORS_READING_IS_GETTED
-
enumerator SENSORS_READING_READ
-
enumerator SENSORS_READING_NEXT
-
enumerator SENSORS_READING_END
-
enumerator SENSORS_READING_WAIT_STATE
-
enumerator SENSORS_READING_INIT
Functions
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_observations_buffer(void)
Reset observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void samples_processing(bool is_force_processing)
Main routine for processing the samples to calculate an observation.
- Parametri:
is_force_processing -- if is true, force the calculation of the observation provided there is a minimum number of samples.
- Ritorna:
void.
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void sensors_reading_task(void)
Sensors reading Task. Read data from sensors.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t lastcommand
-
uint8_t i2c_error
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
bool is_start
-
bool is_stop
-
bool is_test_read
-
SensorDriver *sensors[SENSORS_MAX]
SensorDriver buffer for storing sensors parameter.
SensorDriver array structure.
-
uint8_t sensors_count
Configured sensors number.
number of created sensors drivers.
-
uint16_t timer_counter
-
state_t state
-
sensors_reading_state_t sensors_reading_state
Current sensors reading task state.
Sensors reading task state.
-
bool is_event_sensors_reading
Enable or disable the Sensors reading task.
-
bool is_event_command_task
-
enum state_t
- file i2c-th.h
- #include "i2c-th-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <registers-th.h>#include <SensorDriver.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum sensors_reading_state_t
Sensors reading task finite state machine.
Values:
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_SETUP_CHECK
check errors and if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
-
enumerator SENSORS_READING_PREPARE
-
enumerator SENSORS_READING_IS_PREPARED
-
enumerator SENSORS_READING_GET
-
enumerator SENSORS_READING_IS_GETTED
-
enumerator SENSORS_READING_READ
-
enumerator SENSORS_READING_NEXT
-
enumerator SENSORS_READING_END
-
enumerator SENSORS_READING_WAIT_STATE
-
enumerator SENSORS_READING_INIT
Functions
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_observations_buffer(void)
Reset observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void samples_processing(bool is_force_processing)
Main routine for processing the samples to calculate an observation.
- Parametri:
is_force_processing -- if is true, force the calculation of the observation provided there is a minimum number of samples.
- Ritorna:
void.
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void sensors_reading_task(void)
Sensors reading Task. Read data from sensors.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t lastcommand
-
uint8_t i2c_error
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
bool is_start
-
bool is_stop
-
bool is_test_read
-
SensorDriver *sensors[SENSORS_MAX]
-
uint8_t sensors_count
-
sample_t temperature_samples
-
sample_t humidity_samples
-
uint16_t timer_counter
-
state_t state
-
sensors_reading_state_t sensors_reading_state
-
bool is_event_sensors_reading
-
bool is_event_command_task
-
enum state_t
- file i2c-th.ino
- #include "i2c-th.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void thPowerOff()
-
void thPowerOn()
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void sensors_reading_task()
Sensors reading Task. Read data from sensors.
- Ritorna:
void.
-
template<typename buffer_g, typename length_v, typename value_v>
value_v bufferRead(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
value_v bufferReadBack(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v>
void bufferPtrResetBack(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
void bufferReset(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v>
void incrementBuffer(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
void addValue(buffer_g *buffer, length_v length, value_v value)
-
void make_report(bool init = false)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void samples_processing()
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_data(volatile readable_data_t *ptr)
-
void command_task()
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.
- Ritorna:
void.
-
void copy_buffers()
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-th.ino
- #include "i2c-th.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void thPowerOff()
-
void thPowerOn()
-
void setup()
- file i2c-thr-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
CONFIGURATION_DEFAULT_TEMPERATURE_ADDRESS
Default i2c temperature address.
-
CONFIGURATION_DEFAULT_HUMIDITY_ADDRESS
Default i2c humidity address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
I2C_MAX_TIME
Max i2c time in seconds before i2c restart.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt: from 100 to TIMER1_OVERFLOW_TIME_MS.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 8 MHz.
-
TIMER_COUNTER_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
SENSOR_ERROR_COUNT_MAX
-
SENSORS_SAMPLE_TIME_MS
Milliseconds for sampling sensors: 100 - 60000 [ms] must be integer multiple of TIMER1_INTERRUPT_TIME_MS !!!
-
OBSERVATION_SAMPLES_COUNT_MIN
Sample count minimum in OBSERVATIONS_MINUTES minutes.
-
OBSERVATION_SAMPLES_COUNT_MAX
Sample count maximum in OBSERVATIONS_MINUTES minutes.
-
RMAP_REPORT_SAMPLE_VALID
-
RMAP_REPORT_SAMPLES_COUNT
-
OBSERVATION_SAMPLE_ERROR_MAX
Maximum invalid sample count for generate a valid observations.
-
OBSERVATION_SAMPLE_VALID_MIN
-
RMAP_REPORT_SAMPLE_ERROR_MAX
-
RMAP_REPORT_SAMPLE_VALID_MIN
-
RMAP_REPORT_ERROR_MAX
-
RMAP_REPORT_VALID_MIN
-
SAMPLES_COUNT
-
RMAP_REPORT_INTERVAL_S
-
USE_SENSORS_COUNT
Sensors count.
-
USE_SENSOR_DRIVER_COUNT
-
SENSORS_RETRY_COUNT_MAX
Maximum number of retry for sensors reading.
-
SENSORS_RETRY_DELAY_MS
Waiting for reading between two attempts.
-
MODULE_MAIN_VERSION
- file i2c-thr.h
- #include "i2c-thr-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <SensorDriver.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
Functions
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests(void)
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_report_buffer(void)
-
void reset_buffer(void)
Reset sample and observations buffers to default value.
- Ritorna:
void.
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
template<typename buffer_g, typename length_v, typename value_v>
value_v bufferRead(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
value_v bufferReadBack(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v>
void bufferPtrResetBack(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v>
void incrementBuffer(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
void bufferReset(buffer_g *buffer, length_v length)
-
template<typename buffer_g, typename length_v, typename value_v>
void addValue(buffer_g *buffer, length_v length, value_v value)
-
void samples_processing()
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void make_report()
-
void copy_oneshot_data()
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t i2c_error
-
uint8_t i2c_time
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool is_start
-
bool is_stop
-
bool is_oneshot
-
bool is_continuous
-
uint16_t timer_counter_ms
-
SensorDriver *sensors[SENSORS_MAX]
-
uint8_t sensors_count
-
state_t state
-
bool is_event_command_task
-
enum state_t
- file i2c-thr.ino
- #include "i2c-thr.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
copy_oneshot_data()
-
void samples_processing()
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_buffer()
Reset sample and observations buffers to default value.
- Ritorna:
void.
-
void reset_report_buffer()
-
void command_task()
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.
- Ritorna:
void.
-
void commands()
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests()
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void setup()
- file i2c-wind-config.h
- #include <sensors_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
CONFIGURATION_DEFAULT_IS_ONESHOT
Oneshot mode for default.
-
CONFIGURATION_DEFAULT_I2C_ADDRESS
Default i2c address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
SDCARD_CHIP_SELECT_PIN
Chip select for SDcard SPI.
-
SPI_SPEED
Clock speed for SPI and SDcard.
-
I2C_MAX_TIME
Max i2c time in seconds before i2c restart.
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
USE_TIMER_1
Enable or disable timer1.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
WMO_REPORT_SAMPLES_TIME
Sample time for generate WMO standard wind (verctorial mean) (minutes).
-
WMO_REPORT_SAMPLES_COUNT
Sample count for generate WMO standard wind (verctorial mean).
-
RMAP_REPORT_SAMPLE_ERROR_MAX_PERC
Sample maximum error in percent for one observation.
-
LONG_GUST_SAMPLES_TIME
Sample time for elaborate long gust (seconds).
-
LONG_GUST_SAMPLES_COUNT
Sample count for generate long gust.
-
GWS_ERROR_COUNT_MAX
Maximum error readeng GWS sensor before sensor reset and configuration.
-
WIND_CLASS_1_MAX
-
WIND_CLASS_2_MAX
-
WIND_CLASS_3_MAX
-
WIND_CLASS_4_MAX
-
WIND_CLASS_5_MAX
-
USE_SENSORS_COUNT
Sensors count.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler at 16 MHz.
-
TIMER_COUNTER_VALUE_MAX_MS
Maximum timer1 counter value for timed tasks.
-
WIND_SETUP_DELAY_MS
Reading delay.
-
WIND_POWER_ON_DELAY_MS
-
WIND_POWER_RESPONSE_DELAY_MS
windsonic poll mode delay for response (millisec). \from User Manual: \When in polled mode the system will respond to the data command within 130mS \with the last valid data sample as calculated by the Output rate (P Mode Setting). \ is not TRUE !
-
WIND_READ_DELAY_MS
Reading delay.
-
WIND_READ_COUNT
number of read.
-
TRANSACTION_TIMEOUT_MS
Timeout for command transaction.
-
MODULE_MAIN_VERSION
- file i2c-wind.h
- #include "i2c-wind-config.h"#include <debug.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <i2c_utility.h>#include <rmap_utility.h>#include <sdcard_utility.h>#include <eeprom_utility.h>#include <Wire.h>#include <TimeLib.h>#include <typedef.h>#include <registers-wind.h>#include <debug_config.h>#include <SdFat.h>#include <StreamUtils.h>#include <ArduinoLog.h>#include <CircularBuffer.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
Functions
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void commands(void)
Performs specific operations based on the received command.
- Ritorna:
void.
-
void tests(void)
Performs specific operations based on the received command.
Performs tests operations based on the received command.
- Ritorna:
void.
-
void reset_samples_buffer(void)
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_report_buffer(void)
-
void exchange_buffers(void)
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void make_report(bool init = false)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void elaborate_circular_buffer(void)
Main routine for processing the samples in circular buffer to calculate an observation.
- Ritorna:
void.
-
void getSDFromUV(float, float, float*, float*)
-
void wind_task(void)
Wind setup and reading Task. Read data from WIND.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void i2c_request_interrupt_handler(void)
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(void)
Variables
-
configuration_t configuration
-
readable_data_t readable_data_1
-
readable_data_t readable_data_2
-
readable_data_t *readable_data_read_ptr
-
readable_data_t *readable_data_write_ptr
-
readable_data_t *readable_data_temp_ptr
-
writable_data_t writable_data
-
writable_data_t *writable_data_ptr
-
uint8_t readable_data_address
-
uint8_t readable_data_length
-
uint8_t i2c_rx_data[I2C_MAX_DATA_LENGTH]
-
uint8_t lastcommand
-
uint8_t i2c_error
-
uint8_t i2c_time
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool inside_transaction
-
uint16_t transaction_time
-
uint16_t timer_counter_ms
-
state_t state
-
wind_state_t wind_state
Current sensors reading task state.
-
bool is_event_activate_wind_task
Enable or disable activation of WIND task by timer.
-
bool is_event_wind_task
Enable or disable the WIND task.
-
bool is_event_command_task
-
enum state_t
- file i2c-wind.ino
- #include "i2c-wind.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_rtc()
Init RTC module.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void getSDFromUV(float u, float v, uint16_t *speed, uint16_t *direction)
-
void print_registers(void)
-
void make_report(bool init)
Main routine for processing the samples to calculate an observation.
- Ritorna:
void.
-
void elaborate_circular_buffer(void)
Main routine for processing the samples in circular buffer to calculate an observation.
- Ritorna:
void.
-
void exchange_buffers()
Exchange reader and writer pointer to buffer.
- Ritorna:
void.
-
void reset_samples_buffer()
Reset samples buffers to default value.
- Ritorna:
void.
-
void reset_data(volatile readable_data_t *ptr)
-
void command_task()
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.
- Ritorna:
void.
-
void copy_buffers()
-
void setup()
- file SdFormatter.ino
- #include "SdFat.h"#include "sdios.h"
Functions
-
ArduinoOutStream cout(Serial)
-
void sdErrorHalt()
-
void clearSerialInput()
-
void eraseCard()
-
void formatCard()
-
void printConfig(SdSpiConfig config)
-
bool cidDmp()
-
bool csdDmp()
-
void errorPrint()
-
bool mbrDmp()
-
void dmpVol()
-
void printCardType()
-
void printConfig(SdioConfig config)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
const int8_t DISABLE_CS_PIN = -1
-
const uint8_t SD_CS_PIN = SDCARD_SS_PIN
-
uint32_t cardSectorCount = 0
-
uint8_t sectorBuffer[512]
-
SdCardFactory cardFactory
-
SdCard *m_card = nullptr
-
SdFs sd
-
cid_t m_cid
-
csd_t m_csd
-
uint32_t m_eraseSize
-
uint32_t m_ocr
-
uint32_t const ERASE_SIZE = 262144L
-
ArduinoOutStream cout(Serial)
- file sensor_config.ino
- #include "Wire.h"#include <Arduino.h>#include "registers-radiation.h"#include "registers-wind.h"#include "registers-th.h"#include "registers-rain.h"#include "registers-power.h"#include <i2c_utility.h>
Defines
-
WIND_POWER_ON_DELAY_MS
-
WIND_POWER_PIN
-
GWS_SERIAL_BAUD
-
GWS_SERIAL_TIMEOUT_MS
-
UART_RX_BUFFER_LENGTH
-
CONFMSG
-
SAFEMSG
Functions
-
HardwareSerial Serial1(D0, D1)
-
void scanI2CBus(byte from_addr, byte to_addr, void (*callback)(byte address, byte result))
-
void scanFunc(byte addr, byte result)
-
void windsonicSerialReset()
-
void windsonicReceiveTerminatedMessage(const char terminator)
-
void windsonicReceiveMessage(const char terminator)
-
void windsonicPowerOff()
-
void windsonicPowerOn()
-
void windsonicFlush(void)
-
bool windsonicEnterConfigMode(void)
-
bool windsonicEnterConfigModeAllBaudrate()
-
bool windsonicInitSafeMode()
-
void windsonicConfigure(void)
-
void windsonicSconfigure(void)
-
char getCommand()
-
void displayHelp()
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
WIND_POWER_ON_DELAY_MS
- file sensor_config.ino
- #include "Wire.h"#include <Arduino.h>#include "registers-radiation.h"#include "registers-wind.h"#include "registers-th.h"#include "registers-rain.h"#include "registers-power.h"#include <i2c_utility.h>#include <menu.h>#include <menuIO/hd44780_I2CexpOut.h>#include <menuIO/RotaryIn.h>#include <menuIO/IRremoteIn.h>#include <menuIO/keyIn.h>#include <menuIO/chainStream.h>#include <menuIO/serialOut.h>#include <menuIO/serialIn.h>#include <hd44780.h>#include <hd44780ioClass/hd44780_I2Cexp.h>
Defines
-
WIND_POWER_ON_DELAY_MS
-
WIND_POWER_PIN
-
GWS_SERIAL_BAUD
-
GWS_SERIAL_TIMEOUT_MS
-
UART_RX_BUFFER_LENGTH
-
encA
-
encB
-
encBtn
-
IR_PIN
-
MAX_DEPTH
-
CONFMSG
-
SAFEMSG
Functions
-
HardwareSerial Serial1(D0, D1)
-
void scanI2CBus(byte from_addr, byte to_addr, void (*callback)(byte address, byte result))
-
result scan_i2c_bus()
-
result i2c_solar_radiation_address(eventMask e, prompt &item)
-
result i2c_solar_radiation_oneshot(eventMask e, prompt &item)
-
result i2c_solar_radiation_offset(eventMask e, prompt &item)
-
result i2c_solar_radiation_gain(eventMask e, prompt &item)
-
result i2c_solar_radiation_sensor_voltage(eventMask e, prompt &item)
-
result i2c_solar_radiation_sensor_radiation(eventMask e, prompt &item)
-
result i2c_solar_radiation_save_all(eventMask e, prompt &item)
-
result i2c_th_address(eventMask e, prompt &item)
-
result i2c_th_oneshot(eventMask e, prompt &item)
-
result i2c_th_sensor_type1(eventMask e, prompt &item)
-
result i2c_th_sensor_address1(eventMask e, prompt &item)
-
result i2c_th_sensor_type2(eventMask e, prompt &item)
-
result i2c_th_sensor_address2(eventMask e, prompt &item)
-
result i2c_th_save_all(eventMask e, prompt &item)
-
result i2c_rain_address(eventMask e, prompt &item)
-
result i2c_rain_oneshot(eventMask e, prompt &item)
-
result i2c_rain_tipping_bucket_time(eventMask e, prompt &item)
-
result i2c_rain_rain_for_tip(eventMask e, prompt &item)
-
result i2c_rain_save_all(eventMask e, prompt &item)
-
result i2c_power_address(eventMask e, prompt &item)
-
result i2c_power_oneshot(eventMask e, prompt &item)
-
result i2c_power_voltage_max_panel(eventMask e, prompt &item)
-
result i2c_power_voltage_max_battery(eventMask e, prompt &item)
-
result i2c_power_save_all(eventMask e, prompt &item)
-
result i2c_wind_address(eventMask e, prompt &item)
-
result i2c_wind_oneshot(eventMask e, prompt &item)
-
result i2c_wind_save_all(eventMask e, prompt &item)
-
result windsonic_sconfigurator(eventMask e, prompt &item)
-
result windsonic_configurator(eventMask e, prompt &item)
- TOGGLE (radiationOneshot, subMenuRadiationOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_solar_radiation_oneshot, exitEvent), VALUE("False", false, i2c_solar_radiation_oneshot, exitEvent)) MENU(subMenuRadiationSave
- Save OP ("Yes", i2c_solar_radiation_save_all, enterEvent)
- Save EXIT ("<Back"))
- MENU (subMenuRadiation,"i2c_radiation", doNothing, noEvent, noStyle, FIELD(radiationAddress,"I2C address","", 0, 127, 1, 0, i2c_solar_radiation_address, exitEvent, noStyle), SUBMENU(subMenuRadiationOneshot), FIELD(radiationOffset,"ADC offset","",-127.0, 127.0, 1.0, 0, i2c_solar_radiation_offset, exitEvent, noStyle), altFIELD(decPlaces< 3 >::menuField, radiationGain,"ADC gain","", 0., 2., 0.1, 0.001, i2c_solar_radiation_gain, exitEvent, noStyle), altFIELD(decPlaces< 0 >::menuField, radiationSensorVoltage,"Volt MAX"," mV", 0.0, 10000.0, 100.0, 1.0, i2c_solar_radiation_sensor_voltage, exitEvent, noStyle), altFIELD(decPlaces< 0 >::menuField, radiationSensorRadiation,"Radi MAX"," w/m^2", 0.0, 10000.0, 100.0, 1.0, i2c_solar_radiation_sensor_radiation, exitEvent, noStyle), SUBMENU(subMenuRadiationSave), EXIT("<Back"))
- TOGGLE (thOneshot, subMenuThOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_th_oneshot, exitEvent), VALUE("False", false, i2c_th_oneshot, exitEvent)) MENU(subMenuThSave
- Save OP ("Yes", i2c_th_save_all, enterEvent)
- MENU (subMenuTh,"i2c_th", doNothing, noEvent, noStyle, FIELD(thAddress,"I2C address","", 0, 127, 1, 0, i2c_th_address, exitEvent, noStyle), SUBMENU(subMenuThOneshot), EDIT("sensor1 type", thSensorType1, alpha, i2c_th_sensor_type1, exitEvent, noStyle), FIELD(thSensorAddress1,"sensor1 address","", 0, 127, 1, 0, i2c_th_sensor_address1, exitEvent, noStyle), EDIT("sensor2 type", thSensorType2, alpha, i2c_th_sensor_type2, exitEvent, noStyle), FIELD(thSensorAddress2,"sensor2 address","", 0, 127, 1, 0, i2c_th_sensor_address2, exitEvent, noStyle), SUBMENU(subMenuThSave), EXIT("<Back"))
- TOGGLE (rainOneshot, subMenuRainOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_rain_oneshot, exitEvent), VALUE("False", false, i2c_rain_oneshot, exitEvent)) MENU(subMenuRainSave
- Save OP ("Yes", i2c_rain_save_all, enterEvent)
- MENU (subMenuRain,"i2c_rain", doNothing, noEvent, noStyle, FIELD(rainAddress,"I2C address","", 0, 127, 1, 0, i2c_rain_address, exitEvent, noStyle), SUBMENU(subMenuRainOneshot), FIELD(rainTippingBucketTime,"Tip time","ms", 0, 1000, 10, 1, i2c_rain_tipping_bucket_time, exitEvent, noStyle), FIELD(rainRainForTip,"Tip value","mm/10", 1, 20, 1, 0, i2c_rain_rain_for_tip, exitEvent, noStyle), SUBMENU(subMenuRainSave), EXIT("<Back"))
- TOGGLE (powerOneshot, subMenuPowerOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_power_oneshot, exitEvent), VALUE("False", false, i2c_power_oneshot, exitEvent)) MENU(subMenuPowerSave
- Save OP ("Yes", i2c_power_save_all, enterEvent)
- MENU (subMenuPower,"i2c_power", doNothing, noEvent, noStyle, FIELD(powerAddress,"I2C address","", 0, 127, 1, 0, i2c_power_address, exitEvent, noStyle), SUBMENU(subMenuPowerOneshot), FIELD(powerVoltageMaxPanel,"Panel max","mV", 1, 50000, 100, 1, i2c_power_voltage_max_panel, exitEvent, noStyle), FIELD(powerVoltageMaxBattery,"Battery max","mV", 1, 30000, 100, 1, i2c_power_voltage_max_battery, exitEvent, noStyle), SUBMENU(subMenuPowerSave), EXIT("<Back"))
- TOGGLE (windOneshot, subMenuWindOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_wind_oneshot, exitEvent), VALUE("False", false, i2c_wind_oneshot, exitEvent)) MENU(subMenuWindSave
- Save OP ("Yes", i2c_wind_save_all, enterEvent)
- MENU (subMenuWind,"i2c_wind", doNothing, noEvent, noStyle, FIELD(windAddress,"I2C address","", 0, 127, 1, 0, i2c_wind_address, exitEvent, noStyle), SUBMENU(subMenuWindOneshot), SUBMENU(subMenuWindSave), EXIT("<Back"))
- MENU (mainMenu,"Configuration", doNothing, noEvent, noStyle, SUBMENU(subMenuRadiation), SUBMENU(subMenuTh), SUBMENU(subMenuRain), SUBMENU(subMenuPower), SUBMENU(subMenuWind), OP("configure windsonic", windsonic_configurator, enterEvent), OP("sconfigure windsonic", windsonic_sconfigurator, enterEvent), OP("Scan i2c bus", scan_i2c_bus, enterEvent), EXIT("<Exit go to serial port"))
-
keyIn<1> encButton(encBtn_map)
-
serialIn serial(Serial)
- MENU_INPUTS (in,&irStream,&encStream,&encButton,&serial)
- panelsList pList (panels, nodes, 1)
-
serialOut outSerial(Serial, serialTops)
- outputsList out (outputs, sizeof(outputs)/sizeof(menuOut *))
-
void encoderprocess()
-
void scanFunc(byte addr, byte result)
-
void windsonicSerialReset()
-
void windsonicReceiveTerminatedMessage(const char terminator)
-
void windsonicReceiveMessage(const char terminator)
-
void windsonicPowerOff()
-
void windsonicPowerOn()
-
void windsonicFlush(void)
-
bool windsonicEnterConfigMode(void)
-
bool windsonicEnterConfigModeAllBaudrate()
-
bool windsonicInitSafeMode()
-
void windsonicConfigure(void)
-
void windsonicSconfigure(void)
-
char getCommand()
-
void displayHelp()
-
bool do_i2c_solar_radiation_address(void)
-
bool do_i2c_solar_radiation_oneshot(void)
-
bool do_i2c_solar_radiation_offset(void)
-
bool do_i2c_solar_radiation_gain(void)
-
bool do_i2c_solar_radiation_sensor_voltage(void)
-
bool do_i2c_solar_radiation_sensor_radiation(void)
-
bool do_i2c_solar_radiation_save(void)
-
bool do_i2c_th_address(void)
-
bool do_i2c_th_oneshot(void)
-
bool do_i2c_th_sensor_type1(void)
-
bool do_i2c_th_sensor_address1(void)
-
bool do_i2c_th_sensor_type2(void)
-
bool do_i2c_th_sensor_address2(void)
-
bool do_i2c_th_save(void)
-
bool do_i2c_rain_address(void)
-
bool do_i2c_rain_oneshot(void)
-
bool do_i2c_rain_rain_for_tip(void)
-
bool do_i2c_rain_tipping_bucket_time(void)
-
bool do_i2c_rain_save(void)
-
bool do_i2c_power_address(void)
-
bool do_i2c_power_oneshot(void)
-
bool do_i2c_power_voltage_max_panel(void)
-
bool do_i2c_power_voltage_max_battery(void)
-
bool do_i2c_power_save(void)
-
bool do_i2c_wind_address(void)
-
bool do_i2c_wind_oneshot(void)
-
void do_windsonic_sconfigurator(void)
-
void do_windsonic_configurator(void)
-
bool do_i2c_wind_save(void)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void loop_serial()
Variables
-
uint16_t uart_rx_buffer_length
-
char uart_rx_buffer[UART_RX_BUFFER_LENGTH]
-
const char version[] = "4.0"
-
hd44780_I2Cexp lcd
-
bool last_status
-
bool true_idle_status = false
-
uint8_t radiationAddress = I2C_SOLAR_RADIATION_DEFAULT_ADDRESS
-
bool radiationOneshot = false
-
float radiationOffset = 0.0
-
float radiationGain = 1.0
-
float radiationSensorVoltage = 5000.0
-
float radiationSensorRadiation = 2000.0
-
uint8_t thAddress = I2C_TH_DEFAULT_ADDRESS
-
bool thOneshot = false
-
char thSensorType1[] = "HYT"
-
uint8_t thSensorAddress1 = 40
-
char thSensorType2[] = " "
-
uint8_t thSensorAddress2 = 0
-
uint8_t rainAddress = I2C_RAIN_DEFAULT_ADDRESS
-
bool rainOneshot = true
-
uint16_t rainTippingBucketTime = 50
-
uint8_t rainRainForTip = 1
-
uint8_t powerAddress = I2C_POWER_DEFAULT_ADDRESS
-
bool powerOneshot = false
-
uint16_t powerVoltageMaxPanel = 30000
-
uint16_t powerVoltageMaxBattery = 15000
-
uint8_t windAddress = I2C_WIND_DEFAULT_ADDRESS
-
bool windOneshot = false
-
uint8_t windType = 1
-
Save configuration
-
Save doNothing
-
Save noEvent
-
Save noStyle
- const char *const alpha[] MEMMODE = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}
-
encoderIn<encA, encB> encoder
-
irIn<IR_PIN> ir
-
keyMap encBtn_map[] = {{-encBtn, defaultNavCodes[enterCmd].ch}}
-
navNode *nodes[sizeof(panels) / sizeof(panel)]
-
idx_t serialTops[MAX_DEPTH]
-
idx_t lcdTops[MAX_DEPTH]
-
WIND_POWER_ON_DELAY_MS
- file sensor_config.ino
- #include "Wire.h"#include <Arduino.h>#include <ArduinoLog.h>#include "registers-master.h"#include "registers-radiation.h"#include "registers-wind.h"#include "registers-th.h"#include "registers-rain.h"#include "registers-power.h"#include <i2c_utility.h>#include <stima-config.h>#include <sensors_config.h>#include <ethernet_config.h>#include "sensor_config.h"#include "lcd_config.h"#include <EEPROM.h>#include <menu.h>#include <menuIO/hd44780_I2CexpOut.h>#include <menuIO/RotaryIn.h>#include <menuIO/IRremoteIn.h>#include <menuIO/keyIn.h>#include <menuIO/chainStream.h>#include <menuIO/serialOut.h>#include <menuIO/serialIn.h>#include <SPI.h>#include <SdFat.h>#include "sdios.h"#include <plugin/SdFatMenu.h>#include <hd44780.h>#include <hd44780ioClass/hd44780_I2Cexp.h>
Defines
-
encA
-
encB
-
encBtn
-
IR_PIN
-
WIND_POWER_PIN
-
LOG_LEVEL
-
WIND_POWER_ON_DELAY_MS
-
GWS_SERIAL_BAUD
-
GWS_SERIAL_TIMEOUT_MS
-
UART_RX_BUFFER_LENGTH
-
SDCARD_SS
-
SD_CONFIG
-
MAX_DEPTH
-
CONFMSG
-
SAFEMSG
-
CHUNK
Functions
-
HardwareSerial Serial1(D0, D1)
-
void scanI2CBus(byte from_addr, byte to_addr, void (*callback)(byte address, byte result))
-
result scan_i2c_bus()
-
result i2c_master_save_i2c_all(eventMask e, prompt &item)
-
result i2c_master_save_eeprom_all(eventMask e, prompt &item)
-
result i2c_solar_radiation_address(eventMask e, prompt &item)
-
result i2c_solar_radiation_oneshot(eventMask e, prompt &item)
-
result i2c_solar_radiation_offset(eventMask e, prompt &item)
-
result i2c_solar_radiation_gain(eventMask e, prompt &item)
-
result i2c_solar_radiation_sensor_voltage(eventMask e, prompt &item)
-
result i2c_solar_radiation_sensor_radiation(eventMask e, prompt &item)
-
result i2c_solar_radiation_save_all(eventMask e, prompt &item)
-
result i2c_th_address(eventMask e, prompt &item)
-
result i2c_th_oneshot(eventMask e, prompt &item)
-
result i2c_th_sensor_type1(eventMask e, prompt &item)
-
result i2c_th_sensor_address1(eventMask e, prompt &item)
-
result i2c_th_sensor_type2(eventMask e, prompt &item)
-
result i2c_th_sensor_address2(eventMask e, prompt &item)
-
result i2c_th_save_all(eventMask e, prompt &item)
-
result i2c_rain_address(eventMask e, prompt &item)
-
result i2c_rain_oneshot(eventMask e, prompt &item)
-
result i2c_rain_tipping_bucket_time(eventMask e, prompt &item)
-
result i2c_rain_rain_for_tip(eventMask e, prompt &item)
-
result i2c_rain_save_all(eventMask e, prompt &item)
-
result i2c_power_address(eventMask e, prompt &item)
-
result i2c_power_oneshot(eventMask e, prompt &item)
-
result i2c_power_voltage_max_panel(eventMask e, prompt &item)
-
result i2c_power_voltage_max_battery(eventMask e, prompt &item)
-
result i2c_power_save_all(eventMask e, prompt &item)
-
result i2c_wind_address(eventMask e, prompt &item)
-
result i2c_wind_oneshot(eventMask e, prompt &item)
-
result i2c_wind_save_all(eventMask e, prompt &item)
-
result sdcardFormat(eventMask e, prompt &item)
-
result windsonic_sconfigurator(eventMask e, prompt &item)
-
result windsonic_configurator(eventMask e, prompt &item)
- SDMenuT< CachedFSO< SdFat, 32 > > filePickMenu (sd,"Select conf file","/", filePick, enterEvent)
- MENU (subMenuMasterEepromSave,"EE save conf", doNothing, noEvent, noStyle, OP("Yes write on EEPROM", i2c_master_save_eeprom_all, enterEvent), EXIT("<Back"))
- MENU (subMenuMasterI2cSave,"I2C save conf", doNothing, noEvent, noStyle, OP("Yes write on I2C", i2c_master_save_i2c_all, enterEvent), EXIT("<Back"))
- MENU (subMenuMaster,"Master", doNothing, noEvent, noStyle, SUBMENU(filePickMenu), SUBMENU(subMenuMasterEepromSave), SUBMENU(subMenuMasterI2cSave), EXIT("<Back"))
- TOGGLE (radiationOneshot, subMenuRadiationOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_solar_radiation_oneshot, exitEvent), VALUE("False", false, i2c_solar_radiation_oneshot, exitEvent)) MENU(subMenuRadiationSave
- Save OP ("Yes", i2c_solar_radiation_save_all, enterEvent)
- Save EXIT ("<Back"))
- MENU (subMenuRadiation,"i2c_radiation", doNothing, noEvent, noStyle, FIELD(radiationAddress,"I2C address","", 0, 127, 1, 0, i2c_solar_radiation_address, exitEvent, noStyle), SUBMENU(subMenuRadiationOneshot), FIELD(radiationOffset,"ADC offset","",-127.0, 127.0, 1.0, 0, i2c_solar_radiation_offset, exitEvent, noStyle), altFIELD(decPlaces< 3 >::menuField, radiationGain,"ADC gain","", 0., 2., 0.1, 0.001, i2c_solar_radiation_gain, exitEvent, noStyle), altFIELD(decPlaces< 0 >::menuField, radiationSensorVoltage,"Volt MAX"," mV", 0.0, 10000.0, 100.0, 1.0, i2c_solar_radiation_sensor_voltage, exitEvent, noStyle), altFIELD(decPlaces< 0 >::menuField, radiationSensorRadiation,"Radi MAX"," w/m^2", 0.0, 10000.0, 100.0, 1.0, i2c_solar_radiation_sensor_radiation, exitEvent, noStyle), SUBMENU(subMenuRadiationSave), EXIT("<Back"))
- TOGGLE (thOneshot, subMenuThOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_th_oneshot, exitEvent), VALUE("False", false, i2c_th_oneshot, exitEvent)) MENU(subMenuThSave
- Save OP ("Yes", i2c_th_save_all, enterEvent)
- MENU (subMenuTh,"i2c_th", doNothing, noEvent, noStyle, FIELD(thAddress,"I2C address","", 0, 127, 1, 0, i2c_th_address, exitEvent, noStyle), SUBMENU(subMenuThOneshot), EDIT("sensor1 type", thSensorType1, alpha, i2c_th_sensor_type1, exitEvent, noStyle), FIELD(thSensorAddress1,"sensor1 address","", 0, 127, 1, 0, i2c_th_sensor_address1, exitEvent, noStyle), EDIT("sensor2 type", thSensorType2, alpha, i2c_th_sensor_type2, exitEvent, noStyle), FIELD(thSensorAddress2,"sensor2 address","", 0, 127, 1, 0, i2c_th_sensor_address2, exitEvent, noStyle), SUBMENU(subMenuThSave), EXIT("<Back"))
- TOGGLE (rainOneshot, subMenuRainOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_rain_oneshot, exitEvent), VALUE("False", false, i2c_rain_oneshot, exitEvent)) MENU(subMenuRainSave
- Save OP ("Yes", i2c_rain_save_all, enterEvent)
- MENU (subMenuRain,"i2c_rain", doNothing, noEvent, noStyle, FIELD(rainAddress,"I2C address","", 0, 127, 1, 0, i2c_rain_address, exitEvent, noStyle), SUBMENU(subMenuRainOneshot), FIELD(rainTippingBucketTime,"Tip time","ms", 0, 1000, 10, 1, i2c_rain_tipping_bucket_time, exitEvent, noStyle), FIELD(rainRainForTip,"Tip value","mm/10", 1, 20, 1, 0, i2c_rain_rain_for_tip, exitEvent, noStyle), SUBMENU(subMenuRainSave), EXIT("<Back"))
- TOGGLE (powerOneshot, subMenuPowerOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_power_oneshot, exitEvent), VALUE("False", false, i2c_power_oneshot, exitEvent)) MENU(subMenuPowerSave
- Save OP ("Yes", i2c_power_save_all, enterEvent)
- MENU (subMenuPower,"i2c_power", doNothing, noEvent, noStyle, FIELD(powerAddress,"I2C address","", 0, 127, 1, 0, i2c_power_address, exitEvent, noStyle), SUBMENU(subMenuPowerOneshot), FIELD(powerVoltageMaxPanel,"Panel max","mV", 1, 50000, 100, 1, i2c_power_voltage_max_panel, exitEvent, noStyle), FIELD(powerVoltageMaxBattery,"Battery max","mV", 1, 30000, 100, 1, i2c_power_voltage_max_battery, exitEvent, noStyle), SUBMENU(subMenuPowerSave), EXIT("<Back"))
- TOGGLE (windOneshot, subMenuWindOneshot,"Oneshot: ", doNothing, noEvent, noStyle, VALUE("True", true, i2c_wind_oneshot, exitEvent), VALUE("False", false, i2c_wind_oneshot, exitEvent)) MENU(subMenuWindSave
- Save OP ("Yes", i2c_wind_save_all, enterEvent)
- MENU (subMenuWind,"i2c_wind", doNothing, noEvent, noStyle, FIELD(windAddress,"I2C address","", 0, 127, 1, 0, i2c_wind_address, exitEvent, noStyle), SUBMENU(subMenuWindOneshot), SUBMENU(subMenuWindSave), EXIT("<Back"))
- MENU (subMenuSdformat,"SD format", doNothing, noEvent, noStyle, OP("Yes erase all data", sdcardFormat, enterEvent), EXIT("<Back"))
- MENU (mainMenu,"Configuration", doNothing, noEvent, noStyle, SUBMENU(subMenuMaster), SUBMENU(subMenuRadiation), SUBMENU(subMenuTh), SUBMENU(subMenuRain), SUBMENU(subMenuPower), SUBMENU(subMenuWind), SUBMENU(subMenuSdformat), OP("configure windsonic", windsonic_configurator, enterEvent), OP("sconfigure windsonic", windsonic_sconfigurator, enterEvent), OP("Scan i2c bus", scan_i2c_bus, enterEvent), EXIT("<Exit go to serial port"))
-
encoderInStream<encA, encB> encStream(encoder)
-
irInStream<IR_PIN> irStream(ir)
-
keyIn<1> encButton(encBtn_map)
-
serialIn serial(Serial)
- MENU_INPUTS (in,&irStream,&encStream,&encButton,&serial)
- panelsList pList (panels, nodes, 1)
-
serialOut outSerial(Serial, serialTops)
- outputsList out (outputs, sizeof(outputs)/sizeof(menuOut *))
-
NAVROOT(nav, mainMenu, MAX_DEPTH, in, out)
-
result display_status(menuOut &o, idleEvent e)
-
result display_nostatus(menuOut &o, idleEvent e)
-
result idle(menuOut &o, idleEvent e)
-
result look_at_serial_message(menuOut &o, idleEvent e)
-
void encoderprocess()
-
void scanFunc(byte addr, byte result)
-
void windsonicSerialReset()
-
void windsonicReceiveTerminatedMessage(const char terminator)
-
void windsonicReceiveMessage(const char terminator)
-
void windsonicPowerOff()
-
void windsonicPowerOn()
-
void windsonicFlush(void)
-
bool windsonicEnterConfigMode(void)
-
bool windsonicEnterConfigModeAllBaudrate()
-
bool windsonicInitSafeMode()
-
void windsonicConfigure(void)
-
void windsonicSconfigure(void)
-
bool cidDmp()
-
bool csdDmp()
-
void errorPrint()
-
bool mbrDmp()
-
void dmpVol()
-
void printCardType()
-
char getCommand()
-
void displayHelp()
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
bool do_i2c_master_config(uint16_t index, uint8_t *conf, uint8_t conflength)
-
bool do_i2c_master_save(void)
-
bool do_i2c_solar_radiation_address(void)
-
bool do_i2c_solar_radiation_oneshot(void)
-
bool do_i2c_solar_radiation_offset(void)
-
bool do_i2c_solar_radiation_gain(void)
-
bool do_i2c_solar_radiation_sensor_voltage(void)
-
bool do_i2c_solar_radiation_sensor_radiation(void)
-
bool do_i2c_solar_radiation_save(void)
-
bool do_i2c_th_address(void)
-
bool do_i2c_th_oneshot(void)
-
bool do_i2c_th_sensor_type1(void)
-
bool do_i2c_th_sensor_address1(void)
-
bool do_i2c_th_sensor_type2(void)
-
bool do_i2c_th_sensor_address2(void)
-
bool do_i2c_th_save(void)
-
bool do_i2c_rain_address(void)
-
bool do_i2c_rain_oneshot(void)
-
bool do_i2c_rain_rain_for_tip(void)
-
bool do_i2c_rain_tipping_bucket_time(void)
-
bool do_i2c_rain_save(void)
-
bool do_i2c_power_address(void)
-
bool do_i2c_power_oneshot(void)
-
bool do_i2c_power_voltage_max_panel(void)
-
bool do_i2c_power_voltage_max_battery(void)
-
bool do_i2c_power_save(void)
-
bool do_i2c_wind_address(void)
-
bool do_i2c_wind_oneshot(void)
-
void do_windsonic_sconfigurator(void)
-
void do_windsonic_configurator(void)
-
bool do_i2c_wind_save(void)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void loop_menu()
-
void loop_serial()
Variables
-
uint16_t uart_rx_buffer_length
-
char uart_rx_buffer[UART_RX_BUFFER_LENGTH]
-
const char version[] = "4.0"
-
SdFs sd
-
SdCardFactory cardFactory
-
SdCard *m_card = nullptr
-
cid_t m_cid
-
csd_t m_csd
-
uint32_t m_eraseSize
-
uint32_t m_ocr
-
hd44780_I2Cexp lcd
-
bool last_status
-
bool true_idle_status = false
-
uint8_t radiationAddress = I2C_SOLAR_RADIATION_DEFAULT_ADDRESS
-
bool radiationOneshot = false
-
float radiationOffset = 0.0
-
float radiationGain = 1.0
-
float radiationSensorVoltage = 5000.0
-
float radiationSensorRadiation = 2000.0
-
uint8_t thAddress = I2C_TH_DEFAULT_ADDRESS
-
bool thOneshot = false
-
char thSensorType1[] = "HYT"
-
uint8_t thSensorAddress1 = 40
-
char thSensorType2[] = " "
-
uint8_t thSensorAddress2 = 0
-
uint8_t rainAddress = I2C_RAIN_DEFAULT_ADDRESS
-
bool rainOneshot = true
-
uint16_t rainTippingBucketTime = 50
-
uint8_t rainRainForTip = 1
-
uint8_t powerAddress = I2C_POWER_DEFAULT_ADDRESS
-
bool powerOneshot = false
-
uint16_t powerVoltageMaxPanel = 30000
-
uint16_t powerVoltageMaxBattery = 15000
-
uint8_t windAddress = I2C_WIND_DEFAULT_ADDRESS
-
bool windOneshot = false
-
uint8_t windType = 1
-
char filename[100]
-
char path[100]
-
Save configuration
-
Save doNothing
-
Save noEvent
-
Save noStyle
- const char *const alpha[] MEMMODE = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}
-
encoderIn<encA, encB> encoder
-
irIn<IR_PIN> ir
-
keyMap encBtn_map[] = {{-encBtn, defaultNavCodes[enterCmd].ch}}
-
menuIn *inputsList[] = {&encButton}
-
navNode *nodes[sizeof(panels) / sizeof(panel)]
-
idx_t serialTops[MAX_DEPTH]
-
idx_t lcdTops[MAX_DEPTH]
-
encA
- file constantdata_config.h
- file constantdata_config.h
Defines
-
CONSTANTDATA_BTABLE_LENGTH
Maximum lenght of btable code plus terminator that describe one constant data.
-
CONSTANTDATA_VALUE_LENGTH
Maximum lenght of value plus terminator for one constant data.
-
CONSTANTDATA_BTABLE_LENGTH
- file ethernet_config.h
Defines
-
ETHERNET_DEFAULT_DHCP_ENABLE
Default option for enable or disable DHCP protocol with ethernet.
-
ETHERNET_DEFAULT_MAC
Default mac address for ethernet device.
-
ETHERNET_DEFAULT_IP
Default ip address for ethernet device.
-
ETHERNET_DEFAULT_NETMASK
Default netmask for ethernet device.
-
ETHERNET_DEFAULT_GATEWAY
Default gateway for ethernet device.
-
ETHERNET_DEFAULT_PRIMARY_DNS
Default primary dns for ethernet device.
-
ETHERNET_DEFAULT_LOCAL_UDP_PORT
Default local udp port for ethernet device.
-
ETHERNET_ATTEMPT_MS
Set next ethernet library attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_TIME_MS
Set next ethernet task attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_COUNT
Maximum number of retry for ethernet task.
-
ETHERNET_MQTT_TIMEOUT_MS
MQTT timeout in milliseconds for ethernet device.
-
ETHERNET_MAC_LENGTH
Length in bytes for mac address.
-
ETHERNET_IP_LENGTH
Length in bytes for ip address.
-
ETHERNET_DEFAULT_DHCP_ENABLE
- file ethernet_config.h
Defines
-
ETHERNET_DEFAULT_DHCP_ENABLE
Default option for enable or disable DHCP protocol with ethernet.
-
ETHERNET_DEFAULT_MAC
Default mac address for ethernet device.
-
ETHERNET_DEFAULT_IP
Default ip address for ethernet device.
-
ETHERNET_DEFAULT_NETMASK
Default netmask for ethernet device.
-
ETHERNET_DEFAULT_GATEWAY
Default gateway for ethernet device.
-
ETHERNET_DEFAULT_PRIMARY_DNS
Default primary dns for ethernet device.
-
ETHERNET_DEFAULT_LOCAL_UDP_PORT
Default local udp port for ethernet device.
-
ETHERNET_ATTEMPT_MS
Set next ethernet library attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_TIME_MS
Set next ethernet task attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_COUNT
Maximum number of retry for ethernet task.
-
ETHERNET_MQTT_TIMEOUT_MS
MQTT timeout in milliseconds for ethernet device.
-
ETHERNET_MAC_LENGTH
Length in bytes for mac address.
-
ETHERNET_IP_LENGTH
Length in bytes for ip address.
-
ETHERNET_DEFAULT_DHCP_ENABLE
- file ethernet_config.h
Defines
-
ETHERNET_DEFAULT_DHCP_ENABLE
Default option for enable or disable DHCP protocol with ethernet.
-
ETHERNET_DEFAULT_MAC
Default mac address for ethernet device.
-
ETHERNET_DEFAULT_IP
Default ip address for ethernet device.
-
ETHERNET_DEFAULT_NETMASK
Default netmask for ethernet device.
-
ETHERNET_DEFAULT_GATEWAY
Default gateway for ethernet device.
-
ETHERNET_DEFAULT_PRIMARY_DNS
Default primary dns for ethernet device.
-
ETHERNET_DEFAULT_LOCAL_UDP_PORT
Default local udp port for ethernet device.
-
ETHERNET_ATTEMPT_MS
Set next ethernet library attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_TIME_MS
Set next ethernet task attempt delay in milliseconds after a failure.
-
ETHERNET_RETRY_COUNT
Maximum number of retry for ethernet task.
-
ETHERNET_MQTT_TIMEOUT_MS
MQTT timeout in milliseconds for ethernet device.
-
ETHERNET_MAC_LENGTH
Length in bytes for mac address.
-
ETHERNET_IP_LENGTH
Length in bytes for ip address.
-
ETHERNET_DEFAULT_DHCP_ENABLE
- file gsm_config.h
Defines
-
GSM_APN_TIM
APN for TIM.
-
GSM_APN_WIND
APN for WIND.
-
GSM_APN_VODAFONE
APN for VODAFONE.
-
GSM_DEFAULT_APN
Default GSM APN.
-
GSM_DEFAULT_USERNAME
Default GSM username.
-
GSM_DEFAULT_PASSWORD
Default GSM password.
-
GSM_APN_LENGTH
Length in bytes for apn.
-
GSM_USERNAME_LENGTH
Length in bytes for username.
-
GSM_PASSWORD_LENGTH
Length in bytes for password.
-
USE_SIM_800C
Enable if you want to use SIM800C.
-
USE_SIM_800L
Enable if you want to use SIM800L.
-
GSM_APN_TIM
- file gsm_config.h
Defines
-
GSM_APN_TIM
APN for TIM.
-
GSM_APN_WIND
APN for WIND.
-
GSM_APN_VODAFONE
APN for VODAFONE.
-
GSM_DEFAULT_APN
Default GSM APN.
-
GSM_DEFAULT_USERNAME
Default GSM username.
-
GSM_DEFAULT_PASSWORD
Default GSM password.
-
GSM_APN_LENGTH
Length in bytes for apn.
-
GSM_USERNAME_LENGTH
Length in bytes for username.
-
GSM_PASSWORD_LENGTH
Length in bytes for password.
-
USE_SIM_800C
Enable if you want to use SIM800C.
-
USE_SIM_800L
Enable if you want to use SIM800L.
-
GSM_APN_TIM
- file gsm_config.h
Defines
-
GSM_APN_TIM
APN for TIM.
-
GSM_APN_WIND
APN for WIND.
-
GSM_APN_VODAFONE
APN for VODAFONE.
-
GSM_DEFAULT_APN
Default GSM APN.
-
GSM_DEFAULT_USERNAME
Default GSM username.
-
GSM_DEFAULT_PASSWORD
Default GSM password.
-
GSM_APN_LENGTH
Length in bytes for apn.
-
GSM_USERNAME_LENGTH
Length in bytes for username.
-
GSM_PASSWORD_LENGTH
Length in bytes for password.
-
USE_SIM_800C
Enable if you want to use SIM800C.
-
USE_SIM_800L
Enable if you want to use SIM800L.
-
GSM_APN_TIM
- file lcd_config.h
- file lcd_config.h
Defines
-
LCD_I2C_ADDRESS
LCD i2c address.
-
LCD_I2C_SECONDARY_ADDRESS
Try this I2C address for LCD if LCD_I2C_ADDRESS fail.
-
LCD_COLUMNS
Default LCD columns number.
-
LCD_ROWS
Default LCD rows number.
-
LCD_I2C_ADDRESS
- file lcd_config.h
Defines
-
LCD_I2C_ADDRESS
Default LCD i2c address.
-
LCD_COLUMNS
Default LCD columns number.
-
LCD_ROWS
Default LCD rows number.
-
LCD_I2C_ADDRESS
- file ntp_config.h
- file ntp_config.h
Defines
-
NTP_SERVER_LENGTH
Length in bytes for ntp server data buffer.
-
NTP_DEFAULT_SERVER
Default NTP server.
-
NTP_SERVER_LENGTH
- file ntp_config.h
Defines
-
NTP_SERVER_LENGTH
Length in bytes for ntp server data buffer.
-
NTP_DEFAULT_SERVER
Default NTP server.
-
NTP_SERVER_LENGTH
- file stima-config.h
- #include <sensors_config.h>#include <constantdata_config.h>#include <stima_module.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
USE_MQTT
MQTT support.
-
USE_LCD
LCD support.
-
USE_SDCARD
SD-Card support.
-
USE_RTC
RTC support.
-
USE_TIMER_1
Timer 1 support instead of RTC.
-
USE_RPC_METHOD_CONFIGURE
RPC method for station configuration.
-
USE_RPC_METHOD_PREPARE
RPC method for prepare sensors.
-
USE_RPC_METHOD_PREPANDGET
RPC method for prepare and get data from sensors.
-
USE_RPC_METHOD_GETJSON
RPC method for get sensor's data.
-
USE_RPC_METHOD_REBOOT
RPC method for reboot station.
-
USE_RPC_METHOD_RECOVERY
RPC method for recovery data written on SD card from station.
-
CONFIGURATION_DEFAULT_TH_ADDRESS
Default i2c i2c-th address.
-
CONFIGURATION_DEFAULT_RAIN_ADDRESS
Default i2c i2c-rain address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
CONFIGURATION_DEFAULT_NTP_SERVER
Default ntp server.
-
CONFIGURATION_DEFAULT_ETHERNET_DHCP_ENABLE
Default DHCP status.
-
CONFIGURATION_DEFAULT_ETHERNET_MAC
Default mac address.
-
CONFIGURATION_DEFAULT_ETHERNET_IP
Default ip address.
-
CONFIGURATION_DEFAULT_ETHERNET_NETMASK
Default netmask address.
-
CONFIGURATION_DEFAULT_ETHERNET_GATEWAY
Default gateway address.
-
CONFIGURATION_DEFAULT_ETHERNET_PRIMARY_DNS
Default primary dns address.
-
SENSOR_ERROR_COUNT_MAX
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
W5500_CHIP_SELECT_PIN
Chip select pin for Wiznet W5500 ethernet module.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
RTC_FREQUENCY
Real time clock frequency for generating interrupt for awaken the microprocessor and execute timed tasks.
-
RTC_INTERRUPT_PIN
Interrupt pin for rtc.
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler.
-
USE_CONSTANTDATA_COUNT
Constantdata count.
-
SENSORS_RETRY_COUNT_MAX
Maximum number of retry for sensors reading.
-
SENSORS_RETRY_DELAY_MS
Waiting for reading between two attempts.
-
SENSORS_TESTING_DELAY_S
-
DATA_PROCESSING_RETRY_COUNT_MAX
Maximum number of retry for processing acquired data.
-
DATA_PROCESSING_RETRY_DELAY_MS
Wait time between two attempts.
-
DATA_SAVING_RETRY_COUNT_MAX
Maximum number of retry for saving data on SD-Card.
-
DATA_SAVING_DELAY_MS
Wait time between two attempts.
-
MQTT_RETRY_COUNT_MAX
Maximum number of retry for doing mqtt operations.
-
MQTT_DELAY_MS
Wait time between two attempts.
-
IP_STACK_TIMEOUT_MS
IPStack timeout.
-
SUPERVISOR_CONNECTION_RETRY_COUNT_MAX
Maximum number of retry for doing supervisor operations.
-
SUPERVISOR_CONNECTION_TIMEOUT_MS
Timeout for connecting.
-
NTP_RETRY_COUNT_MAX
Maximum number of retry for doing ntp operations.
-
NTP_RETRY_DELAY_MS
Wait time between two NTP attempts.
-
NTP_TIME_FOR_RESYNC_S
Maximum seconds for resync time over ntp.
-
NTP_MAX_DIFF_VALID_TIME_S
-
LCD_TIME_FOR_REINITIALIZE_S
Maximum seconds for reinitialize LCD.
-
DISPLAY_SET_MAX
Max number of page to show on display when testing sensors.
-
ETHERNET_RETRY_COUNT_MAX
Maximum number of retry for doing ethernet operations.
-
ETHERNET_RETRY_DELAY_MS
Wait time between two attempts.
-
DATE_TIME_STRING_LENGTH
Length of datetime string %04u-%02u-%02uT%02u:%02u:%02u.
-
MODULE_MAIN_VERSION
- file stima-config.h
- #include <sensors_config.h>#include <constantdata_config.h>
Defines
-
MODULE_MAIN_VERSION
Module main version.
-
MODULE_MINOR_VERSION
Module minor version.
-
MODULE_CONFIGURATION_VERSION
Module version of compatibile configuration. If you change it, you have to reconfigure.
-
MODULE_TYPE
Type of module. It is defined in registers.h.
-
USE_MQTT
MQTT support.
-
USE_LCD
LCD support.
-
USE_SDCARD
SD-Card support.
-
USE_RTC
RTC support.
-
USE_TIMER_1
Timer 1 support instead of RTC.
-
USE_RPC_METHOD_CONFIGURE
RPC method for station configuration.
-
USE_RPC_METHOD_PREPARE
RPC method for prepare sensors.
-
USE_RPC_METHOD_PREPANDGET
RPC method for prepare and get data from sensors.
-
USE_RPC_METHOD_GETJSON
RPC method for get sensor's data.
-
USE_RPC_METHOD_REBOOT
RPC method for reboot station.
-
USE_RPC_METHOD_RECOVERY
RPC method for recovery data written on SD card from station.
-
CONFIGURATION_DEFAULT_TH_ADDRESS
Default i2c i2c-th address.
-
CONFIGURATION_DEFAULT_RAIN_ADDRESS
Default i2c i2c-rain address.
-
CONFIGURATION_RESET_PIN
Input pin for reset configuration at startup.
-
CONFIGURATION_DEFAULT_NTP_SERVER
Default ntp server.
-
CONFIGURATION_DEFAULT_ETHERNET_DHCP_ENABLE
Default DHCP status.
-
CONFIGURATION_DEFAULT_ETHERNET_MAC
Default mac address.
-
CONFIGURATION_DEFAULT_ETHERNET_IP
Default ip address.
-
CONFIGURATION_DEFAULT_ETHERNET_NETMASK
Default netmask address.
-
CONFIGURATION_DEFAULT_ETHERNET_GATEWAY
Default gateway address.
-
CONFIGURATION_DEFAULT_ETHERNET_PRIMARY_DNS
Default primary dns address.
-
SENSOR_ERROR_COUNT_MAX
-
USE_POWER_DOWN
Enable or disable power down.
-
DEBOUNCING_POWER_DOWN_TIME_MS
Debounce power down ms.
-
W5500_CHIP_SELECT_PIN
Chip select pin for Wiznet W5500 ethernet module.
-
WDT_TIMER
Watchdog timer for periodically check microprocessor block states.
Possible value for WDT_TIMER are: WDTO_15MS, WDTO_30MS, WDTO_60MS, WDTO_120MS, WDTO_250MS, WDTO_500MS, WDTO_1S, WDTO_2S, WDTO_4S, WDTO_8S
-
RTC_FREQUENCY
Real time clock frequency for generating interrupt for awaken the microprocessor and execute timed tasks.
-
RTC_INTERRUPT_PIN
Interrupt pin for rtc.
-
TIMER1_INTERRUPT_TIME_MS
Value in milliseconds for generating timer1 interrupt.
-
TIMER1_TCNT1_VALUE
Timer1 timer overflow with 1024 prescaler.
-
USE_CONSTANTDATA_COUNT
Constantdata count.
-
SENSORS_RETRY_COUNT_MAX
Maximum number of retry for sensors reading.
-
SENSORS_RETRY_DELAY_MS
Waiting for reading between two attempts.
-
SENSORS_TESTING_DELAY_S
-
DATA_PROCESSING_RETRY_COUNT_MAX
Maximum number of retry for processing acquired data.
-
DATA_PROCESSING_RETRY_DELAY_MS
Wait time between two attempts.
-
DATA_SAVING_RETRY_COUNT_MAX
Maximum number of retry for saving data on SD-Card.
-
DATA_SAVING_DELAY_MS
Wait time between two attempts.
-
MQTT_RETRY_COUNT_MAX
Maximum number of retry for doing mqtt operations.
-
MQTT_DELAY_MS
Wait time between two attempts.
-
IP_STACK_TIMEOUT_MS
IPStack timeout.
-
SUPERVISOR_CONNECTION_RETRY_COUNT_MAX
Maximum number of retry for doing supervisor operations.
-
SUPERVISOR_CONNECTION_TIMEOUT_MS
Timeout for connecting.
-
NTP_RETRY_COUNT_MAX
Maximum number of retry for doing ntp operations.
-
NTP_RETRY_DELAY_MS
Wait time between two NTP attempts.
-
NTP_TIME_FOR_RESYNC_S
Maximum seconds for resync time over ntp.
-
NTP_MAX_DIFF_VALID_TIME_S
-
LCD_TIME_FOR_REINITIALIZE_S
Maximum seconds for reinitialize LCD.
-
DISPLAY_SET_MAX
-
ETHERNET_RETRY_COUNT_MAX
Maximum number of retry for doing ethernet operations.
-
ETHERNET_RETRY_DELAY_MS
Wait time between two attempts.
-
DATE_TIME_STRING_LENGTH
Length of datetime string %04u-%02u-%02uT%02u:%02u:%02u.
-
MODULE_MAIN_VERSION
- file sensor_config.h
- #include <sensors_config.h>#include <mqtt_config.h>#include <constantdata_config.h>#include <gsm_config.h>#include <ntp_config.h>#include <typedef.h>
- file stima.h
- #include <stima_module.h>#include "stima-config.h"#include <typedef.h>#include <registers.h>#include <registers-master.h>#include <debug.h>#include <ArduinoLog.h>#include <StreamUtils.h>#include <i2c_config.h>#include <json_config.h>#include <ntp_config.h>#include <constantdata_config.h>#include <gsm_config.h>#include <SPI.h>#include <Wire.h>#include <pcf8563.h>#include <rmap_utility.h>#include <TimeLib.h>#include <SensorDriver.h>#include <i2c_utility.h>#include <arduinoJsonRPC.h>#include <ethernet_config.h>#include <Ethernet2.h>#include <IWatchdog.h>#include "STM32LowPower.h"#include <STM32RTC.h>#include <rtc.h>
Enums
-
enum state_t
Main loop finite state machine.
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
-
enum supervisor_state_t
Supervisor task finite state machine.
Values:
-
enumerator SUPERVISOR_INIT
init task variables
-
enumerator SUPERVISOR_CONNECTION_LEVEL_TASK
enable hardware related tasks for doing connection
-
enumerator SUPERVISOR_WAIT_CONNECTION_LEVEL_TASK
enable hardware related tasks for doing connection
-
enumerator SUPERVISOR_TIME_LEVEL_TASK
enable time task for sync time with ntp server
-
enumerator SUPERVISOR_MANAGE_LEVEL_TASK
enable tasks for manage data (mqtt)
-
enumerator SUPERVISOR_TEST_SDCARD
-
enumerator SUPERVISOR_END
performs end operations and deactivate task
-
enumerator SUPERVISOR_WAIT_STATE
non-blocking waiting time
-
enumerator SUPERVISOR_INIT
-
enum ethernet_state_t
Ethernet task finite state machine.
Values:
-
enumerator ETHERNET_INIT
init task variables
-
enumerator ETHERNET_CONNECT
begin ethernet operations
-
enumerator ETHERNET_OPEN_UDP_SOCKET
open udp socket
-
enumerator ETHERNET_END
performs end operations and deactivate task
-
enumerator ETHERNET_WAIT_STATE
non-blocking waiting time
-
enumerator ETHERNET_INIT
-
enum sensors_reading_state_t
Sensors reading task finite state machine.
Values:
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_SETUP_CHECK
check errors and if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
-
enumerator SENSORS_READING_PREPARE
-
enumerator SENSORS_READING_IS_PREPARED
-
enumerator SENSORS_READING_GET
-
enumerator SENSORS_READING_IS_GETTED
-
enumerator SENSORS_READING_READ
-
enumerator SENSORS_READING_NEXT
-
enumerator SENSORS_READING_END
-
enumerator SENSORS_READING_WAIT_STATE
-
enumerator SENSORS_READING_INIT
-
enum time_state_t
Time task finite state machine.
Values:
-
enumerator TIME_INIT
init task variables
-
enumerator TIME_SEND_ONLINE_REQUEST
send ntp request
-
enumerator TIME_WAIT_ONLINE_RESPONSE
wait ntp response
-
enumerator TIME_SET_SYNC_NTP_PROVIDER
set ntp time
-
enumerator TIME_SET_SYNC_RTC_PROVIDER
set rtc time
-
enumerator TIME_END
performs end operations and deactivate task
-
enumerator TIME_WAIT_STATE
non-blocking waiting time
-
enumerator TIME_INIT
Functions
- JsonRPC streamRpc (false)
Remote Procedure Call object.
-
void realreboot()
-
time_t getSystemTime()
-
void init_logging(void)
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_system(void)
Init system.
- Ritorna:
void.
-
void init_rpc(void)
Register RPC.
- Ritorna:
void.
-
void init_buffers(void)
Init buffers.
- Ritorna:
void.
-
void init_tasks(void)
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins(void)
Init hardware pins.
- Ritorna:
void.
-
void init_wire(void)
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_spi(void)
Init SPI library.
- Ritorna:
void.
-
void init_rtc(void)
Init RTC module.
- Ritorna:
void.
-
void init_timer1(void)
Init Timer1 module.
- Ritorna:
void.
-
void start_timer(void)
Start Timer1 module.
- Ritorna:
void.
-
void stop_timer(void)
Stop Timer1 module.
- Ritorna:
void.
-
void interrupt_task_1s(void)
1 seconds task.
- Ritorna:
void.
-
void init_sensors(void)
Create and setup sensors.
- Ritorna:
void.
-
void print_configuration(void)
Print current configuration.
- Ritorna:
void.
-
void load_configuration(void)
Load configuration from EEPROM.
- Ritorna:
void.
-
void save_configuration(bool)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void set_default_configuration(void)
Set default configuration to global configuration variable.
- Ritorna:
void.
-
void setNextTimeForSensorReading(time_t *next_time, uint16_t time_s)
-
bool extractSensorsParams(JsonObject ¶ms, char *driver, char *type, uint8_t *address, uint8_t *node)
Extract sensor's parameter.
- Parametri:
*params -- [in] json's params
*driver -- [out] driver
*type -- [out] type
*address -- [out] address
*node -- [out] node
- Ritorna:
status code.
-
int configure(JsonObject ¶ms, JsonObject &result)
RPC configuration.
- Parametri:
*params -- json's params
&result -- json's response
- Ritorna:
status code.
-
int prepare(JsonObject ¶ms, JsonObject &result)
RPC prepare.
- Parametri:
*params -- json's params
&result -- json's response
- Ritorna:
status code.
-
int getjson(JsonObject ¶ms, JsonObject &result)
RPC get json.
- Parametri:
*params -- json's params
&result -- json's response
- Ritorna:
status code.
-
int prepandget(JsonObject ¶ms, JsonObject &result)
RPC prepare and get json.
- Parametri:
*params -- json's params
&result -- json's response
- Ritorna:
status code.
-
int reboot(JsonObject ¶ms, JsonObject &result)
RPC reboot.
- Parametri:
*params -- json's params
&result -- json's response
- Ritorna:
status code.
-
void supervisor_task(void)
Supervisor task. Manage RTC and NTP sync and open/close gsm and ethernet connection.
- Ritorna:
void.
-
void sensors_reading_task(bool do_prepare = true, bool do_get = true, char *driver = NULL, char *type = NULL, uint8_t address = 0, uint8_t node = 0, uint8_t *sensor_index = 0, uint32_t *wait_time = NULL)
Sensors reading Task. Read data from sensors.
- Parametri:
do_prepare -- if true, execute the prepare sensor's procedure
do_get -- if true, execute the get sensor's procedure
*driver -- sensor's driver
*type -- sensor's type
*address -- sensor's address
*node -- sensor's node
*sensor_index -- sensor's index
*wait_time -- sensor's wait time
- Ritorna:
void.
-
void rtc_task(void)
Real Time Clock task. Read RTC time and sync system time with it.
- Ritorna:
void.
-
void time_task(void)
Time task. Get time from NTP and sync RTC with it.
- Ritorna:
void.
-
void ethernet_task(void)
Ethernet task. Manage Ethernet operation.
- Ritorna:
void.
-
void rtc_interrupt_handler(void)
Real Time Clock interrupt handler.
- Ritorna:
void.
-
HardwareSerial Serial1(PB11, PB10)
-
void wdt_enable(int wdt_timer)
-
void wdt_reset()
-
void wdt_disable()
-
void power_adc_disable()
-
void power_spi_disable()
-
void power_timer0_disable()
-
void power_timer1_disable()
-
void power_timer2_disable()
-
void power_adc_enable()
-
void power_spi_enable()
-
void power_timer0_enable()
-
void power_timer1_enable()
-
void power_timer2_enable()
-
void set_sleep_mode(int SLEEP_MODE_PWR_DOWN)
-
void sleep_enable()
-
void sleep_cpu()
-
void sleep_disable()
Variables
-
uint8_t sensors_count = 0
-
bool is_datetime_set
A valid date and time is setted and usable by station.
-
bool have_to_reboot
Request for a reboot as soon as possible.
-
configuration_t readable_configuration
Configuration for this module.
-
configuration_t writable_configuration
Configuration for this module.
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
EthernetUDP eth_udp_client
Ethernet UDP client structure.
-
EthernetClient eth_tcp_client
Ethernet TCP client structure.
-
SensorDriver *sensors[SENSORS_MAX]
-
bool is_first_run
If true, the first reading of the sensors was performed.
-
bool do_reset_first_run
If true, the first reading of the sensors was performed.
-
bool is_first_test
If true, the first reading of the sensors was performed.
-
bool is_test
-
bool is_time_set
If true, the time was readed from rtc or ntp and was setted in system.
-
bool is_time_for_sensors_reading_updated
If true, the next time has been calculated to read the sensors.
-
bool is_client_connected
If true, the client (ethernet or gsm) was connected to socket (TCP or UDP).
-
bool is_client_udp_socket_open
If true, the client (ethernet or gsm) was opened the UDP socket.
-
bool is_event_client_executed
If true, the client has executed its task.
-
bool is_event_time_executed
If true, the time task has executed.
-
bool do_ntp_sync
If true, you must update the time from ntp.
-
time_t last_ntp_sync
Last date and time when ntp sync was performed.
-
char json_sensors_data[SENSORS_MAX][JSON_BUFFER_LENGTH]
buffer containing the data read by sensors in json text format.
-
char json_sensors_data_test[JSON_BUFFER_LENGTH]
buffer containing the data read by sensors in json text format for test only.
-
time_t system_time
System time since 01/01/1970 00:00:00.
-
time_t next_ptr_time_for_sensors_reading
Next scheduled time (in seconds since 01/01/1970 00:0:00) for sensors reading.
-
time_t next_ptr_time_for_testing_sensors
Next scheduled time (in seconds since 01/01/1970 00:0:00) for sensors reading.
-
uint8_t sensor_reading_failed_count
Counter for failed and skipped sensors.
-
tmElements_t sensor_reading_time
Date and time corresponding to the last reading of the sensors.
-
time_t ptr_time_data
Readed data pointer stored on SD-Card for data send.
-
char stima_name[20]
Name of this module.
-
state_t state
-
supervisor_state_t supervisor_state
Supervisor task state.
-
ethernet_state_t ethernet_state
Ethernet task state.
-
uint8_t i2c_error
-
time_state_t time_state
Time task state.
-
sensors_reading_state_t sensors_reading_state
-
rpc_state_t rpc_state
RPC task state.
-
bool is_event_supervisor
Enable or disable the Supervisor task.
-
bool is_event_sensors_reading
-
bool is_event_sensors_reading_rpc
Enable or disable the Sensors reading task from RPC.
-
bool is_event_rtc
Enable or disable the Real Time Clock task.
-
bool is_event_time
Enable or disable the Time task.
-
bool is_event_ethernet
Enable or disable the Ethernet task.
-
bool is_event_rpc
Indicate if RPC is active or not.
-
STM32RTC &rtc = STM32RTC::getInstance()
-
enum state_t
- file stima.ino
- #include <debug_config.h>#include "stima.h"
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_buffers()
Init buffers.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_pins()
Init hardware pins.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void reset_wire()
-
void init_spi()
Init SPI library.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void init_rpc()
Register RPC.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_timer1()
Init Timer1 module.
- Ritorna:
void.
-
void start_timer()
Start Timer1 module.
- Ritorna:
void.
-
void stop_timer()
Stop Timer1 module.
- Ritorna:
void.
-
ISR(TIMER1_OVF_vect)
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void setNextTimeForSensorReading(time_t *next_time, uint16_t time_s)
-
void print_configuration()
Print current configuration.
- Ritorna:
void.
-
void set_default_configuration()
Set default configuration to global configuration variable.
- Ritorna:
void.
-
void save_configuration(bool is_default)
Save configuration to EEPROM.
- Parametri:
is_default -- if true save default configuration; if false save current configuration.
- Ritorna:
void.
-
void load_configuration()
Load configuration from EEPROM.
- Ritorna:
void.
-
time_t getSystemTime()
-
void realreboot()
-
void interrupt_task_1s()
1 seconds task.
- Ritorna:
void.
-
void supervisor_task()
Supervisor task. Manage RTC and NTP sync and open/close gsm and ethernet connection.
- Ritorna:
void.
-
void rtc_task()
Real Time Clock task. Read RTC time and sync system time with it.
- Ritorna:
void.
-
void time_task()
Time task. Get time from NTP and sync RTC with it.
- Ritorna:
void.
-
void ethernet_task()
Ethernet task. Manage Ethernet operation.
- Ritorna:
void.
-
void sensors_reading_task(bool do_prepare, bool do_get, char *driver, char *type, uint8_t address, uint8_t node, uint8_t *sensor_index, uint32_t *wait_time)
Sensors reading Task. Read data from sensors.
- Parametri:
do_prepare -- if true, execute the prepare sensor's procedure
do_get -- if true, execute the get sensor's procedure
*driver -- sensor's driver
*type -- sensor's type
*address -- sensor's address
*node -- sensor's node
*sensor_index -- sensor's index
*wait_time -- sensor's wait time
- Ritorna:
void.
-
void setup()
- file event_groups.h
- #include <freertos/event_groups.h>
- file FreeRTOS.h
- #include <freertos/FreeRTOS.h>
- file pins_stima.h
- #include <stdint.h>
- file queue.h
- #include <freertos/queue.h>
- file semphr.h
- #include <freertos/semphr.h>
- file stimawifi_config.h
Defines
-
SOFTWARE_VERSION
-
MAJOR_VERSION
-
MINOR_VERSION
-
WIFI_SSED
-
WIFI_PASSWORD
-
DEFAULT_SAMPLETIME
-
UDP_PORT
-
OLEDI2CADDRESS
-
LOG_LEVEL
-
DATE_TIME_STRING_LENGTH
-
HEAP_MIN_WARNING
-
STACK_MIN_WARNING
-
STIMAHTTP_PORT
-
PMS_RESET
-
SCL_PIN
-
SDA_PIN
-
RESET_PIN
-
SENSORDRIVER_DRIVER_LEN
-
SENSORDRIVER_TYPE_LEN
-
SENSORDRIVER_META_LEN
-
CH
-
DATA_BURST
-
DATA_BURST_RECOVERY
-
DB_QUEUE_LEN
-
MQTT_QUEUE_LEN
-
MQTT_QUEUE_SPACELEFT_MEASURE
-
MQTT_QUEUE_SPACELEFT_PUBLISH
-
MQTT_QUEUE_SPACELEFT_RECOVERY
-
C3SCK
-
C3MISO
-
C3MOSI
-
C3SS
-
SPICLOCK
-
SDMAXFILE
-
SDCARD_INFO_FILE_NAME
-
SDCARD_ARCHIVE_FILE_NAME
-
LFMAXFILE
-
SDRECOVERYTIME
-
SQLITE_MEMORY
-
MQTT_TIMEOUT_MS
Timeout in milliseconds for mqtt stack.
-
IP_STACK_TIMEOUT_MS
IPStack timeout.
-
STATUS_SEND_S
send MQTT board status every STATUS_SEND_S.
-
MQTT_PACKET_SIZE
Length in bytes for max mqtt packet size.
-
MQTT_SERVER_PORT
-
CONSTANTDATA_BTABLE_LENGTH
Maximum lenght of btable code plus terminator that describe one constant data.
-
CONSTANTDATA_VALUE_LENGTH
Maximum lenght of value plus terminator for one constant data.
-
SOFTWARE_VERSION
- file task.h
- #include <freertos/task.h>
- file timers.h
- #include <freertos/timers.h>
- file common.h
- #include "Arduino.h"#include "pins_stima.h"#include "stimawifi_config.h"#include "typedef.h"#include <frtosLog.h>#include <frtosRtc.h>#include "thread.hpp"#include "ticks.hpp"#include "queue.hpp"#include <DNSServer.h>#include <ArduinoJson.h>#include <Wire.h>#include <U8g2lib.h>#include "time.h"#include <WiFi.h>#include <ESPmDNS.h>#include <WebServer.h>#include <HTTPClient.h>#include <LittleFS.h>#include "esp_netif.h"#include "esp_sntp.h"#include <TimeAlarms.h>#include <WiFiManager.h>#include <LOLIN_I2C_BUTTON.h>#include <HTTPUpdate.h>#include <Adafruit_NeoPixel.h>#include <sqlite3.h>#include "udp_thread.h"#include "gps_thread.h"#include "measure_thread.h"#include "publish_thread.h"#include "db_thread.h"#include "critical.hpp"#include "semaphore.hpp"#include "SD.h"#include <SdFat.h>#include <StreamUtils.h>#include <esp_task_wdt.h>
- file db_thread.cpp
- #include "common.h"
- file db_thread.h
- file gps_thread.cpp
- #include "common.h"
- file gps_thread.h
- #include "ozgps.h"#include <cmath>
- file measure_thread.cpp
- #include "common.h"#include "measure_thread.h"
Variables
-
unsigned short int displaypos
-
unsigned short int displaypos
- file measure_thread.h
- #include "SensorManager.h"
Functions
-
void enqueueMqttMessage(const char *values, const char *timerange, const char *level, measure_data_t &data)
-
void doMeasure(measure_data_t &data)
-
void web_values(const char *values)
-
void enqueueMqttMessage(const char *values, const char *timerange, const char *level, measure_data_t &data)
- file publish_thread.cpp
- #include "common.h"
- file publish_thread.h
- #include <Countdown.h>#include <WifiIPStack.h>#include <MQTTClient.h>
Functions
-
bool publish_maint(MQTT::Client<IPStack, Countdown, MQTT_PACKET_SIZE, 1> &mqttclient, publish_data_t &data)
-
bool publish_constantdata(MQTT::Client<IPStack, Countdown, MQTT_PACKET_SIZE, 1> &mqttclient, publish_data_t &data)
-
bool publish_maint(MQTT::Client<IPStack, Countdown, MQTT_PACKET_SIZE, 1> &mqttclient, publish_data_t &data)
- file stimawifi.h
- #include "common.h"
Functions
-
WebServer webserver(STIMAHTTP_PORT)
-
U8G2_SSD1306_64X48_ER_F_HW_I2C u8g2(U8G2_R0)
- Queue dbQueue (DB_QUEUE_LEN, sizeof(mqttMessage_t))
- Queue mqttQueue (MQTT_QUEUE_LEN, sizeof(mqttMessage_t))
- BinaryQueue recoveryQueue (sizeof(rpcRecovery_t))
- BinarySemaphore recoverySemaphore (false)
-
time_t rtc_set_time()
-
String Json()
-
String Data()
-
String FullPage()
-
void writeconfig()
-
void handle_FullPage()
-
void handle_Data()
-
void handle_Json()
-
void handle_NotFound()
-
void saveConfigCallback()
-
String rmap_get_remote_config()
-
void firmware_upgrade()
-
String readconfig_rmap()
-
void writeconfig_rmap(const String payload)
-
int rmap_config(const String payload)
-
void readconfig()
-
void web_values(const char *values)
-
void measureAndPublish()
-
void reboot()
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
- const char * update_url = "/firmware/update/" FIRMWARE_TYPE "/"
-
const uint16_t update_port = 80
-
WiFiManager wifiManager
-
WiFiClient httpClient
-
WiFiClient networkClient
-
MutexStandard loggingmutex
-
MutexStandard i2cmutex
-
MutexStandard geomutex
-
frtosRtc frtosRTC
-
bool shouldSaveConfig = false
-
bool pmspresent = false
-
bool oledpresent = false
-
I2C_BUTTON button
-
summarydata_t summarydata
-
stimawifiStatus_t stimawifiStatus
-
udp_data_t udp_data = {1, &frtosLog, &stimawifiStatus.udp, &georef, &frtosRTC}
-
gps_data_t gps_data = {1, &frtosLog, &stimawifiStatus.gps, &georef, &frtosRTC}
-
db_data_t db_data = {1, &frtosLog, &dbQueue, &mqttQueue, &recoverySemaphore, &recoveryQueue, &stimawifiStatus.db, &station, NULL}
-
measure_data_t measure_data = {1, &frtosLog, &mqttQueue, &dbQueue, &stimawifiStatus.measure, &station, &summarydata, &i2cmutex, &georef}
-
publish_data_t publish_data = {1, &frtosLog, &mqttQueue, &dbQueue, &recoveryQueue, &stimawifiStatus, &station, &networkClient}
-
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, LED_PIN, NEO_GRB + NEO_KHZ800)
-
char status[15] = ""
-
bool loopinit = true
-
WebServer webserver(STIMAHTTP_PORT)
- file stimawifi.ino
- #include "stimawifi.h"
Defines
-
SD_CONFIG
Functions
-
void print_reset_reason(int reason)
-
void verbose_print_reset_reason(int reason)
-
void set_status_summary(int reason)
-
void display_summary_data(char *status)
-
void printLocalTime()
-
time_t rtc_set_time()
-
void timeavailable(struct timeval *t)
-
String Json()
-
String Geo()
-
String Data()
-
String FullPage()
-
void handle_FullPage()
-
void handle_Data()
-
void handle_Json()
-
void handle_Geo()
-
void handle_NotFound()
-
void saveConfigCallback()
-
time_t ntp_set_time()
-
String rmap_get_remote_config()
-
void firmware_upgrade()
-
String readconfig_rmap()
-
void writeconfig_rmap(const String payload)
-
int rmap_config(const String payload)
-
void readconfig()
-
void writeconfig()
-
void displayStatus()
-
void dataRecovery()
-
void measureAndPublish()
-
void reboot()
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
SD_CONFIG
- file typedef.h
- #include <mqtt_config.h>#include <mutex.hpp>
Defines
-
CONSTANTDATA_BTABLE_LENGTH
Maximum lenght of btable code plus terminator that describe one constant data.
-
CONSTANTDATA_VALUE_LENGTH
Maximum lenght of value plus terminator for one constant data.
-
MAX_CONSTANTDATA_COUNT
Numero massimo di dati costanti di stazione (metadati).
-
CONSTANTDATA_BTABLE_LENGTH
- file udp_thread.cpp
- #include "common.h"
- file udp_thread.h
- #include <WiFiUdp.h>#include "ozgps.h"#include <cmath>
- file test_hyt271.ino
- #include <hyt2x1.h>
Defines
-
POWER_PIN
Copyright (C) 2017 Marco Baldinetti m.baldinetti@digiteco.it authors: Marco Baldinetti m.baldinetti@digiteco.it
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Functions
-
void test_read_ht(int8_t address)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
POWER_PIN
- file hardware_config.h
Defines
-
I2C_BUS_CLOCK
-
I2C_MAX_DATA_LENGTH
-
I2C_BUS_CLOCK
- file test_i2c_multimaster.ino
- #include <Arduino.h>#include <debug_config.h>#include <i2c_config.h>#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#include <Wire.h>#include <i2c_utility.h>#include <ArduinoLog.h>
Defines
-
I2C_ADDRESS_1
-
I2C_ADDRESS_2
-
I2C_ADDRESS_3
-
I2C_ADDRESS_4
-
I2C_MY_ADDRESS
-
I2C_MAX_ERROR_COUNT
-
I2C_CHECK_DELAY_MS
-
I2C_REQUEST_MIN_DELAY_MS
-
I2C_REQUEST_MAX_DELAY_MS
-
I2C_SEND_DATA_MIN_DELAY_MS
-
I2C_SEND_DATA_MAX_DELAY_MS
-
PRINT_STATUS_DELAY_MS
-
WDT_TIMER
Enums
-
enum state_t
Values:
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator REBOOT
reboot the machine
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
init tasks and sensors
-
enumerator TASKS_EXECUTION
execute active tasks
-
enumerator END
go to ENTER_POWER_DOWN or TASKS_EXECUTION
-
enumerator INIT
Functions
-
uint8_t I2C_ClearBus_NEW()
-
bool check_i2c_bus()
-
void i2c_request_interrupt_handler()
I2C request interrupt handler.
- Ritorna:
void.
-
void i2c_receive_interrupt_handler(int rx_data_length)
I2C receive interrupt handler.
- Parametri:
rx_data_length -- [in] received data length in bytes.
- Ritorna:
void.
-
void init_power_down(uint32_t *time_ms, uint32_t debouncing_ms)
Enter power down mode.
- Parametri:
time_ms -- pointer to a variable to save the last instant you entered power down.
debouncing_ms -- delay to power down.
- Ritorna:
void.
-
void init_wdt(uint8_t wdt_timer)
Init watchdog.
- Parametri:
wdt_timer -- a time value for init watchdog (WDTO_xxxx).
- Ritorna:
void.
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void init_system()
Init system.
- Ritorna:
void.
-
void init_tasks()
Init tasks variable and state.
- Ritorna:
void.
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void reset_i2c_buffer(void *buffer, uint8_t *length)
-
void received_data()
-
void send_data(uint8_t write_data_length, uint8_t i2c_other_address)
-
void request_data(uint8_t length, uint8_t i2c_other_address)
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
void init_logging()
Init logging system.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
state_t state
-
uint8_t ready_tasks_count
-
uint32_t awakened_event_occurred_time_ms
-
bool is_event_request_data
-
bool is_event_send_data
-
uint32_t start_print_status_delay_ms
-
uint32_t start_i2c_check_delay_ms
-
uint32_t i2c_request_delay_ms
-
uint32_t start_time_i2c_request_delay_ms
-
uint32_t i2c_send_delay_ms
-
uint32_t start_time_i2c_send_delay_ms
-
static uint8_t rx_buffer[I2C_MAX_DATA_LENGTH]
-
static uint8_t rx_buffer_length
-
uint8_t tx_buffer[I2C_MAX_DATA_LENGTH + 1]
-
uint8_t tx_buffer_length
-
uint8_t rq_buffer[I2C_MAX_DATA_LENGTH + 1]
-
uint8_t rq_buffer_length
-
uint16_t i2c_rx_error_count
-
uint16_t i2c_rx_success_count
-
uint16_t i2c_tx_error_count
-
uint16_t i2c_tx_success_count
-
uint16_t i2c_rq_error_count
-
uint16_t i2c_rq_success_count
-
I2C_ADDRESS_1
- file ToggleLED.ino
- #include <arduinoJsonRPC.h>
Functions
- JsonRPC rpc (false)
-
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.
- Ritorna:
void.
-
int toggle(JsonObject params, JsonObject result)
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
int led = 13
- file HelloWorld.ino
- #include <Wire.h>#include <hd44780.h>#include <hd44780ioClass/hd44780_I2Cexp.h>
Functions
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
void setup()
- file SDlog.ino
- #include <ArduinoLog.h>#include <SPI.h>#include <SdFat.h>#include <StreamUtils.h>
Defines
-
USE_SDCARD
This example sketch shows most of the features of the ArduinoLog library with SD card
USE_SDCARD RAM: [= ] 10.4% (used 1700 bytes from 16384 bytes) Flash: [== ] 16.7% (used 21668 bytes from 130048 bytes)
serial only logger RAM: [= ] 6.1% (used 996 bytes from 16384 bytes) Flash: [= ] 12.7% (used 16500 bytes from 130048 bytes)
DISABLE_LOGGING RAM: [= ] 5.8% (used 958 bytes from 16384 bytes) Flash: [= ] 8.8% (used 11426 bytes from 130048 bytes)
-
SDCARD_CHIP_SELECT_PIN
-
SPI_SPEED
-
SDCARD_LOGGING_FILE_NAME
-
LOG_LEVEL
Functions
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
SdFat SD
SD-Card structure.
-
File logFile
File for logging on SD-Card.
-
int intValue1
-
int intValue2
-
long longValue1
-
long longValue2
-
bool boolValue1
-
bool boolValue2
-
const char *charArray = "this is a string"
-
String stringValue1 = "this is a string"
-
float floatValue
-
double doubleValue
-
USE_SDCARD
- file test_mqtt.ino
- #include <debug_config.h>#include <sim800Client.h>#include <Sim800IPStack.h>#include <Countdown.h>#include <MQTTClient.h>#include <ArduinoLog.h>
Defines
-
TIMEOUT
-
REPEATWAIT
-
ENABLE_SUBSCRIBE
-
ENABLE_QOS0
-
ENABLE_QOS1
-
ENABLE_QOS2
-
MQTTCLIENT_QOS2
-
MQTTCLIENT_QOS
-
SERIAL_TRACE_LEVEL
-
SIM800_ON_OFF_PIN
-
GSM_APN
-
GSM_USERNAME
-
GSM_PASSWORD
-
TOPIC
-
HOSTNAME
-
DATE_TIME_STRING_LENGTH
Functions
-
HardwareSerial Serial1(PB11, PB10)
-
void messageArrived(MQTT::MessageData &md)
-
bool initmodem(void)
-
bool connect(void)
-
bool publish(void)
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
TIMEOUT
- file test_mqtt_subscribe.ino
- #include <sim800Client.h>#include <Sim800IPStack.h>#include <Countdown.h>#include <MQTTClient.h>
Defines
-
TIMEOUT
-
MQTTCLIENT_QOS
-
SIM800_ON_OFF_PIN
-
GSM_APN
-
GSM_USERNAME
-
GSM_PASSWORD
-
TOPICCOM
-
TOPICRES
-
HOSTNAME
Functions
-
HardwareSerial Serial1(PB11, PB10)
-
IPStack ipstack(s800)
-
bool publish(const char *topic, const char *payload)
-
void messageArrived(MQTT::MessageData &md)
-
bool initmodem(void)
-
bool connect(void)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
TIMEOUT
- file test_ntp.ino
- #include <debug_config.h>#include <sim800Client.h>#include <Sim800IPStack.h>#include <Countdown.h>#include <ArduinoLog.h>#include <ntp.h>
Functions
-
HardwareSerial Serial1(PB11, PB10)
-
bool initmodem(void)
-
void getNtp()
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
sim800Client s800
-
HardwareSerial Serial1(PB11, PB10)
- file test_rtc.ino
- #include <ArduinoLog.h>#include <TimeLib.h>#include <pcf8563.h>
Defines
-
DATE_TIME_STRING_LENGTH
Functions
-
void resetrtc()
-
void initrtc()
-
bool getrtc(time_t &time)
-
bool setrtc(const time_t time)
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
time_t current_time
-
DATE_TIME_STRING_LENGTH
- file test_sdcard.ino
- #include <SPI.h>#include <SdFat.h>
Defines
-
SPI_DRIVER_SELECT
-
USE_SD_CRC
-
SDFAT_FILE_TYPE
-
USE_LONG_FILE_NAMES
-
C3SCK
-
C3MISO
-
C3MOSI
-
C3SS
-
SDCARD_CHIP_SELECT_PIN
-
SPI_SPEED
Functions
-
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.
- Ritorna:
void.
-
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.
- Ritorna:
void.
-
SPI_DRIVER_SELECT
- file Fat16Config.h
Configuration file
- file mSPI.cpp
- #include "mSPI.h"#include <inttypes.h>#include <avr/io.h>
- file mSPI.h
- #include <inttypes.h>#include <avr/io.h>
Defines
-
SPI_SPCR_CONFIG
Functions
-
void SPI_begin(void)
-
uint8_t SPI_transfer(uint8_t data)
-
SPI_SPCR_CONFIG
- file optiboot.ino
- #include "SdCard.h"
Defines
-
BLOCK_SIZE
-
FAT16_ID_POS
-
MBR_FIRST_PART_POS
-
MBR_PART_LBA_POS
-
BLOCKS_PER_CLUSTER_POS
-
RESERVED_BLOCKS_COUNT_POS
-
ROOT_ENTRIES_COUNT_POS
-
BLOCKS_PER_FAT_POS
-
ROOT_ENTRY_SIZE
-
ROOT_ENTRY_FREE_TAG
-
ROOT_ENTRY_FILENAME_SIZE
-
ROOT_ENTRY_CLUSTER_POS
-
ROOT_ENTRY_SIZE_POS
-
FAT_ENTRY_SIZE
-
FAT_FILENAME_SIZE
-
FAT_EOF_TAG
-
FAT_FREE_TAG
-
WAIT_FOR_LINE_START
-
READ_LINE_SIZE
-
READ_ADDRESS
-
READ_LINE_TYPE
-
READ_DATA
Functions
-
bool fatTagFound(void)
-
uint8_t *find_firmware_data(FatFileDesc *fat, uint8_t cardType)
-
void write_page(uint16_t address)
-
int sdcard_loader(void)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
uint8_t buff[1000]
-
BLOCK_SIZE
- file SdCard.cpp
- #include "SdCard.h"#include <stdint.h>#include <avr/io.h>#include "Fat16Config.h"#include "mSPI.h"
Defines
-
RAMSTART
-
buff
Functions
-
uint8_t spiReceive(void)
-
bool waitNotBusy(void)
-
void chipSelectHigh(void)
-
void chipSelectLow(void)
-
uint8_t cardCommand(uint8_t cmd, uint32_t arg)
-
uint8_t cardAcmd(uint8_t cmd, uint32_t arg)
-
uint8_t SdCard_begin(void)
-
bool SdCard_readBlock(uint32_t blockNumber, uint8_t cardType)
Reads a 512 byte block from a storage device.
- Parametri:
blockNumber -- [in] Logical block to be read.
dst -- [out] Pointer to the location that will receive the data.
- Ritorna:
The value one, true, is returned for success and the value zero, false, is returned for failure.
-
bool SdCard_writeBlock(uint32_t blockNumber, uint8_t cardType)
Writes a 512 byte block to a storage device.
- Parametri:
blockNumber -- [in] Logical block to be written.
src -- [in] Pointer to the location of the data to be written.
- Ritorna:
The value one, true, is returned for success and the value zero, false, is returned for failure.
-
RAMSTART
- file SdCard.h
- #include <stdint.h>#include <avr/io.h>#include "mSPI.h"
Defines
-
__STDC_LIMIT_MACROS
-
SD_SS_PORT
-
SD_SS_PIN
-
SD_SS_PORT_REG
-
SD_SS_DDR_REG
-
SPI_SCK_INIT_DIVISOR
-
SD_MAX_CMD0_TRIES
-
SD_MAX_TRANSFERTS
-
SD_MAX_COMMANDS
-
CMD0
GO_IDLE_STATE - init card in spi mode if CS low
-
CMD8
SEND_IF_COND - verify SD Memory Card interface operating condition.
-
CMD9
SEND_CSD - read the Card Specific Data (CSD register)
-
CMD10
SEND_CID - read the card identification information (CID register)
-
CMD12
STOP_TRANSMISSION - end multiple block read sequence
-
CMD13
SEND_STATUS - read the card status register
-
CMD17
READ_SINGLE_BLOCK - read a single data block from the card
-
CMD18
READ_MULTIPLE_BLOCK - read a multiple data blocks from the card
-
CMD24
WRITE_BLOCK - write a single data block to the card
-
CMD25
WRITE_MULTIPLE_BLOCK - write blocks of data until a STOP_TRANSMISSION
-
CMD32
ERASE_WR_BLK_START - sets the address of the first block to be erased
-
CMD33
ERASE_WR_BLK_END - sets the address of the last block of the continuous range to be erased
-
CMD38
ERASE - erase all previously selected blocks
-
CMD55
APP_CMD - escape for application specific command
-
CMD58
READ_OCR - read the OCR register of a card
-
CMD59
CRC_ON_OFF - enable or disable CRC checking
-
ACMD23
SET_WR_BLK_ERASE_COUNT - Set the number of write blocks to be pre-erased before writing
-
ACMD41
SD_SEND_OP_COMD - Sends host capacity support information and activates the card's initialization process
-
R1_READY_STATE
status for card in the ready state
-
R1_IDLE_STATE
status for card in the idle state
-
R1_ILLEGAL_COMMAND
status bit for illegal command
-
DATA_START_BLOCK
start data token for read or write single block
-
STOP_TRAN_TOKEN
stop token for write multiple blocks
-
WRITE_MULTIPLE_TOKEN
start data token for write multiple blocks
-
DATA_RES_MASK
mask for data response tokens after a write block operation
-
DATA_RES_ACCEPTED
write data accepted token
-
CARD_TYPE_SDV1
sd card type v1
-
CARD_TYPE_SDV2
sd card type v2
-
CARD_TYPE_SDHC
sd card type sdhc
Functions
-
uint8_t SdCard_begin()
-
bool SdCard_readBlock(uint32_t block, uint8_t cardType)
Reads a 512 byte block from a storage device.
- Parametri:
blockNumber -- [in] Logical block to be read.
dst -- [out] Pointer to the location that will receive the data.
- Ritorna:
The value one, true, is returned for success and the value zero, false, is returned for failure.
-
bool SdCard_writeBlock(uint32_t block, uint8_t cardType)
Writes a 512 byte block to a storage device.
- Parametri:
blockNumber -- [in] Logical block to be written.
src -- [in] Pointer to the location of the data to be written.
- Ritorna:
The value one, true, is returned for success and the value zero, false, is returned for failure.
-
__STDC_LIMIT_MACROS
- file test_sensor_driver.ino
- #include <i2c_config.h>#include <debug_config.h>#include <sensors_config.h>#include <SensorDriver.h>#include <ArduinoLog.h>
Enums
-
enum sensors_reading_state_t
Values:
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_SETUP_CHECK
check errors and if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
init task variables
-
enumerator SENSORS_READING_SETUP_CHECK
check sensor errors
-
enumerator SENSORS_READING_POWER_OFF
power off sensor
-
enumerator SENSORS_READING_POWER_ON
power on sensor
-
enumerator SENSORS_READING_SETUP
if required try a sensor setup
-
enumerator SENSORS_READING_PREPARE
prepare sensor
-
enumerator SENSORS_READING_IS_PREPARED
check if the sensor has been prepared
-
enumerator SENSORS_READING_GET
read and get values from sensor
-
enumerator SENSORS_READING_IS_GETTED
check if the sensor has been readed
-
enumerator SENSORS_READING_READ
intermediate state (future implementation...)
-
enumerator SENSORS_READING_NEXT
go to next sensor
-
enumerator SENSORS_READING_END
performs end operations and deactivate task
-
enumerator SENSORS_READING_WAIT_STATE
non-blocking waiting time
-
enumerator SENSORS_READING_INIT
-
enumerator SENSORS_READING_PREPARE
-
enumerator SENSORS_READING_IS_PREPARED
-
enumerator SENSORS_READING_GET
-
enumerator SENSORS_READING_IS_GETTED
-
enumerator SENSORS_READING_READ
-
enumerator SENSORS_READING_NEXT
-
enumerator SENSORS_READING_END
-
enumerator SENSORS_READING_WAIT_STATE
-
enumerator SENSORS_READING_INIT
Functions
-
void init_sensors()
Create and setup sensors.
- Ritorna:
void.
-
void sensors_reading_task(bool do_prepare = true, bool do_get = true, char *driver = NULL, char *type = NULL, uint8_t address = 0, uint8_t node = 0, uint8_t *sensor_index = 0, uint32_t *wait_time = NULL)
Sensors reading Task. Read data from sensors.
- Parametri:
do_prepare -- if true, execute the prepare sensor's procedure
do_get -- if true, execute the get sensor's procedure
*driver -- sensor's driver
*type -- sensor's type
*address -- sensor's address
*node -- sensor's node
*sensor_index -- sensor's index
*wait_time -- sensor's wait time
- Ritorna:
void.
-
void reset_wire()
-
void init_wire()
Init wire (i2c) library and performs checks on the bus.
- Ritorna:
void.
-
void check_i2c_bus()
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
uint8_t sensors_count
-
SensorDriver *sensors[SENSORS_MAX]
-
bool is_first_run
-
bool is_test
-
bool is_event_sensors_reading
-
bool do_reset_first_run
-
int32_t values_readed_from_sensor[SENSORS_MAX][VALUES_TO_READ_FROM_SENSOR_COUNT]
-
sensors_reading_state_t sensors_reading_state
-
uint32_t acquiring_sensors_delay_ms
-
uint32_t testing_sensors_delay_ms
-
uint8_t i2c_error
-
enum sensors_reading_state_t
- file test_sensor_manager.ino
- #include <SensorManager.h>
Defines
-
DELAY_ACQ_MS
-
DELAY_TEST_MS
Functions
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
-
DELAY_ACQ_MS
- file basic.ino
- #include <gsm_config.h>#include <sim800Client.h>#include <ArduinoLog.h>
Enums
-
enum gsm_state_t
Values:
-
enumerator GSM_INIT
init task variables
-
enumerator GSM_SWITCH_ON
gsm power on
-
enumerator GSM_AUTOBAUD
gsm autobaud procedure
-
enumerator GSM_SETUP
gsm setup
-
enumerator GSM_START_CONNECTION
gsm open connection
-
enumerator GSM_CHECK_OPERATION
check operations (ntp or mqtt)
-
enumerator GSM_OPEN_UDP_SOCKET
open udp socket for ntp sync
-
enumerator GSM_SUSPEND
wait other tasks for complete its operations with gsm
-
enumerator GSM_STOP_CONNECTION
gsm close connection
-
enumerator GSM_WAIT_FOR_SWITCH_OFF
wait gsm for power off
-
enumerator GSM_SWITCH_OFF
gsm power off
-
enumerator GSM_END
performs end operations and deactivate task
-
enumerator GSM_WAIT_STATE
non-blocking waiting time
-
enumerator GSM_INIT
Functions
-
HardwareSerial Serial1(PB11, PB10)
-
void gsm_task()
-
void logPrefix(Print *_logOutput)
-
void logSuffix(Print *_logOutput)
-
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.
- Ritorna:
void.
-
void loop()
Arduino loop function. First, initialize tasks and sensors, then execute the tasks and activates the power down if no task is running.
- Ritorna:
void.
Variables
-
sim800Client s800
-
bool is_event_gsm
-
bool is_client_connected
-
bool is_client_udp_socket_open
-
bool is_event_client_executed
-
uint8_t ready_tasks_count
-
gsm_state_t gsm_state
-
enum gsm_state_t
- group avr_boot
#include <avr/io.h> #include <avr/boot.h>
The macros in this module provide a C language interface to the bootloader support functionality of certain AVR processors. These macros are designed to work with all sizes of flash memory.
Global interrupts are not automatically disabled for these macros. It is left up to the programmer to do this. See the code example below. Also see the processor datasheet for caveats on having global interrupts enabled during writing of the Flash.
- Todo:
From email with Marek: On smaller devices (all except ATmega64/128), __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" instructions - since the boot loader has a limited size, this could be an important optimization.
#include <inttypes.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> void boot_program_page (uint32_t page, uint8_t *buf) { uint16_t i; uint8_t sreg; // Disable interrupts. sreg = SREG; cli(); eeprom_busy_wait (); boot_page_erase (page); boot_spm_busy_wait (); // Wait until the memory is erased. for (i=0; i<SPM_PAGESIZE; i+=2) { // Set up little-endian word. uint16_t w = *buf++; w += (*buf++) << 8; boot_page_fill (page + i, w); } boot_page_write (page); // Store buffer in flash page. boot_spm_busy_wait(); // Wait until the memory is written. // Reenable RWW-section again. We need this if we want to jump back // to the application after bootloading. boot_rww_enable (); // Re-enable interrupts (if they were ever enabled). SREG = sreg; }
- API Usage Example
The following code shows typical usage of the boot API.
#include <avr/io.h> #include <avr/boot.h>
The macros in this module provide a C language interface to the bootloader support functionality of certain AVR processors. These macros are designed to work with all sizes of flash memory.
Global interrupts are not automatically disabled for these macros. It is left up to the programmer to do this. See the code example below. Also see the processor datasheet for caveats on having global interrupts enabled during writing of the Flash.
- Todo:
From email with Marek: On smaller devices (all except ATmega64/128), __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" instructions - since the boot loader has a limited size, this could be an important optimization.
#include <inttypes.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> void boot_program_page (uint32_t page, uint8_t *buf) { uint16_t i; uint8_t sreg; // Disable interrupts. sreg = SREG; cli(); eeprom_busy_wait (); boot_page_erase (page); boot_spm_busy_wait (); // Wait until the memory is erased. for (i=0; i<SPM_PAGESIZE; i+=2) { // Set up little-endian word. uint16_t w = *buf++; w += (*buf++) << 8; boot_page_fill (page + i, w); } boot_page_write (page); // Store buffer in flash page. boot_spm_busy_wait(); // Wait until the memory is written. // Reenable RWW-section again. We need this if we want to jump back // to the application after bootloading. boot_rww_enable (); // Re-enable interrupts (if they were ever enabled). SREG = sreg; }
- API Usage Example
The following code shows typical usage of the boot API.
Nota
Not all AVR processors provide bootloader support. See your processor datasheet to see if it provides bootloader support.
Nota
Not all AVR processors provide bootloader support. See your processor datasheet to see if it provides bootloader support.
Defines
-
BOOTLOADER_SECTION
Used to declare a function or variable to be placed into a new section called .bootloader. This section and its contents can then be relocated to any address (such as the bootloader NRWW area) at link-time.
-
boot_spm_interrupt_enable()
Enable the SPM interrupt.
-
boot_spm_interrupt_disable()
Disable the SPM interrupt.
-
boot_is_spm_interrupt()
Check if the SPM interrupt is enabled.
-
boot_rww_busy()
Check if the RWW section is busy.
-
boot_spm_busy()
Check if the SPM instruction is busy.
-
boot_spm_busy_wait()
Wait while the SPM instruction is busy.
-
GET_LOW_FUSE_BITS
address to read the low fuse bits, using boot_lock_fuse_bits_get
-
GET_LOCK_BITS
address to read the lock bits, using boot_lock_fuse_bits_get
-
GET_EXTENDED_FUSE_BITS
address to read the extended fuse bits, using boot_lock_fuse_bits_get
-
GET_HIGH_FUSE_BITS
address to read the high fuse bits, using boot_lock_fuse_bits_get
-
boot_lock_fuse_bits_get(address)
Read the lock or fuse bits at
address
.Parameter
address
can be any of GET_LOW_FUSE_BITS, GET_LOCK_BITS, GET_EXTENDED_FUSE_BITS, or GET_HIGH_FUSE_BITS.Nota
The lock and fuse bits returned are the physical values, i.e. a bit returned as 0 means the corresponding fuse or lock bit is programmed.
-
boot_signature_byte_get(addr)
Read the Signature Row byte at
address
. For some MCU types, this function can also retrieve the factory-stored oscillator calibration bytes.Parameter
address
can be 0-0x1f as documented by the datasheet.Nota
The values are MCU type dependent.
-
boot_page_fill(address, data)
Fill the bootloader temporary page buffer for flash address with data word.
Nota
The address is a byte address. The data is a word. The AVR writes data to the buffer a word at a time, but addresses the buffer per byte! So, increment your address by 2 between calls, and send 2 data bytes in a word format! The LSB of the data is written to the lower address; the MSB of the data is written to the higher address.
-
boot_page_erase(address)
Erase the flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_page_write(address)
Write the bootloader temporary page buffer to flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_rww_enable()
Enable the Read-While-Write memory section.
-
boot_lock_bits_set(lock_bits)
Set the bootloader lock bits.
For example, to disallow the SPM instruction from writing to the Boot Loader memory section of flash, you would use this macro as such:
boot_lock_bits_set (_BV (BLB11));
Nota
In this context, a 'set bit' will be written to a zero value. Note also that only BLBxx bits can be programmed by this command.
Nota
Like any lock bits, the Boot Loader Lock Bits, once set, cannot be cleared again except by a chip erase which will in turn also erase the boot loader itself.
- Parametri:
lock_bits -- A mask of which Boot Loader Lock Bits to set.
-
boot_page_fill_safe(address, data)
Same as boot_page_fill() except it waits for eeprom and spm operations to complete before filling the page.
-
boot_page_erase_safe(address)
Same as boot_page_erase() except it waits for eeprom and spm operations to complete before erasing the page.
-
boot_page_write_safe(address)
Same as boot_page_write() except it waits for eeprom and spm operations to complete before writing the page.
-
boot_rww_enable_safe()
Same as boot_rww_enable() except waits for eeprom and spm operations to complete before enabling the RWW mameory.
-
boot_lock_bits_set_safe(lock_bits)
Same as boot_lock_bits_set() except waits for eeprom and spm operations to complete before setting the lock bits.
-
BOOTLOADER_SECTION
Used to declare a function or variable to be placed into a new section called .bootloader. This section and its contents can then be relocated to any address (such as the bootloader NRWW area) at link-time.
-
boot_spm_interrupt_enable()
Enable the SPM interrupt.
-
boot_spm_interrupt_disable()
Disable the SPM interrupt.
-
boot_is_spm_interrupt()
Check if the SPM interrupt is enabled.
-
boot_rww_busy()
Check if the RWW section is busy.
-
boot_spm_busy()
Check if the SPM instruction is busy.
-
boot_spm_busy_wait()
Wait while the SPM instruction is busy.
-
GET_LOW_FUSE_BITS
address to read the low fuse bits, using boot_lock_fuse_bits_get
-
GET_LOCK_BITS
address to read the lock bits, using boot_lock_fuse_bits_get
-
GET_EXTENDED_FUSE_BITS
address to read the extended fuse bits, using boot_lock_fuse_bits_get
-
GET_HIGH_FUSE_BITS
address to read the high fuse bits, using boot_lock_fuse_bits_get
-
boot_lock_fuse_bits_get(address)
Read the lock or fuse bits at
address
.Parameter
address
can be any of GET_LOW_FUSE_BITS, GET_LOCK_BITS, GET_EXTENDED_FUSE_BITS, or GET_HIGH_FUSE_BITS.Nota
The lock and fuse bits returned are the physical values, i.e. a bit returned as 0 means the corresponding fuse or lock bit is programmed.
-
boot_signature_byte_get(addr)
Read the Signature Row byte at
address
. For some MCU types, this function can also retrieve the factory-stored oscillator calibration bytes.Parameter
address
can be 0-0x1f as documented by the datasheet.Nota
The values are MCU type dependent.
-
boot_page_fill(address, data)
Fill the bootloader temporary page buffer for flash address with data word.
Nota
The address is a byte address. The data is a word. The AVR writes data to the buffer a word at a time, but addresses the buffer per byte! So, increment your address by 2 between calls, and send 2 data bytes in a word format! The LSB of the data is written to the lower address; the MSB of the data is written to the higher address.
-
boot_page_erase(address)
Erase the flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_page_write(address)
Write the bootloader temporary page buffer to flash page that contains address.
Nota
address is a byte address in flash, not a word address.
-
boot_rww_enable()
Enable the Read-While-Write memory section.
-
boot_lock_bits_set(lock_bits)
Set the bootloader lock bits.
For example, to disallow the SPM instruction from writing to the Boot Loader memory section of flash, you would use this macro as such:
boot_lock_bits_set (_BV (BLB11));
Nota
In this context, a 'set bit' will be written to a zero value. Note also that only BLBxx bits can be programmed by this command.
Nota
Like any lock bits, the Boot Loader Lock Bits, once set, cannot be cleared again except by a chip erase which will in turn also erase the boot loader itself.
- Parametri:
lock_bits -- A mask of which Boot Loader Lock Bits to set.
-
boot_page_fill_safe(address, data)
Same as boot_page_fill() except it waits for eeprom and spm operations to complete before filling the page.
-
boot_page_erase_safe(address)
Same as boot_page_erase() except it waits for eeprom and spm operations to complete before erasing the page.
-
boot_page_write_safe(address)
Same as boot_page_write() except it waits for eeprom and spm operations to complete before writing the page.
-
boot_rww_enable_safe()
Same as boot_rww_enable() except waits for eeprom and spm operations to complete before enabling the RWW mameory.
-
boot_lock_bits_set_safe(lock_bits)
Same as boot_lock_bits_set() except waits for eeprom and spm operations to complete before setting the lock bits.
- page md__home_pat1_git_rmap_platformio_stima_v3_digitecoboot_ihex_ihex_README
A small library for reading and writing the Intel HEX (or IHEX) format. The library is mainly intended for embedded systems and microcontrollers, such as Arduino, AVR, PIC, ARM, STM32, etc - hence the emphasis is on small size rather than features, generality, or error handling.
See the header file
kk_ihex.h
for documentation, or below for simple examples.~ Kimmo Kulovesi, 2013-12-27
Writing
Basic usage for writing binary data as IHEX ASCII:
The function#include "kk_ihex_write.h" struct ihex_state ihex; ihex_init(&ihex); ihex_write_at_address(&ihex, 0); ihex_write_bytes(&ihex, my_data_bytes, my_data_size); ihex_end_write(&ihex);
ihex_write_bytes
may be called multiple times to pass any amount of data at a time.The actual writing is done by a callback called
ihex_flush_buffer
, which must be implemented, e.g., as follows:The length of the buffer can be obtained fromvoid ihex_flush_buffer(struct ihex_state *ihex, char *buffer, char *eptr) { *eptr = '\0'; (void) fputs(buffer, stdout); }
eptr - buffer
. The actual implementation may of course do with the IHEX data as it pleases, e.g., transmit it over a serial port.For a complete example, see the included program
bin2ihex.c
.Reading
Basic usage for reading ASCII IHEX into binary data:
The function#include "kk_ihex_read.h" struct ihex_state ihex; ihex_begin_read(&ihex); ihex_read_bytes(&ihex, my_ascii_bytes, my_ascii_length); ihex_end_read(&ihex);
ihex_read_bytes
may be called multiple times to pass any amount of data at a time.The reading functions call the function
ihex_data_read
, which must be implemented by the caller to store the binary data, e.g., as follows:Of course an actual implementation is free to do with the data as it chooses, e.g., burn it on an EEPROM instead of writing it to a file.ihex_bool_t ihex_data_read (struct ihex_state *ihex, ihex_record_type_t type, ihex_bool_t checksum_error) { if (type == IHEX_DATA_RECORD) { unsigned long address = (unsigned long) IHEX_LINEAR_ADDRESS(ihex); (void) fseek(outfile, address, SEEK_SET); (void) fwrite(ihex->data, ihex->length, 1, outfile); } else if (type == IHEX_END_OF_FILE_RECORD) { (void) fclose(outfile); } return true; }
For an example complete with error handling, see the included program
ihex2bin.c
.Example Programs
The included example programs,
ihex2bin
andbin2ihex
, implement a very simple conversion between raw binary data and Intel HEX. Usage by example:Both programs also accept the option# Simple conversion from binary to IHEX: bin2ihex <infile.bin >outfile.hex # Add an offset to the output addresses (i.e., make the address # of the first byte of the input other than zero): bin2ihex -a 0x8000000 -i infile.bin -o outfile.hex # Encode 64 input bytes per output IHEX line: bin2ihex -b 64 <infile.bin >outfile.hex # Simple conversion from IHEX to binary: ihex2bin <infile.hex >outfile.bin # Manually specify the initial address written (i.e., subtract # an offset from the input addresses): ihex2bin -a 0x8000000 -i infile.hex -o outfile.bin # Start output at the first data byte (i.e., make the address offset # equal to the address of the first data byte read from input): ihex2bin -A -i infile.hex -o outfile.bin
-v
to increase verbosity.When using
ihex2bin
on Intel HEX files produced by compilers and such, it is a good idea to specify the command-line option-A
to autodetect the address offset. Otherwise the program will simply fill any unused addresses, starting from 0, with zero bytes, which may total mega- or even gigabytes.Utilities
Four additional utilities are provided to help working with ROM images:
split16bit
– splits a 16-bit ROM binary into two 8-bit halvesmerge16bit
– merges two 8-bit ROM binary halves into a single 16-bit filesplit32bit
– splits a 32-bit ROM binary into four 8-bit partsmerge32bit
– merges four 8-bit ROM binary parts into a single 32-bit file
Both 16-bit utilities take the filenames of the high and low halves with the arguments
-llow.bin
and-hhigh.bin
, respectively. The bytes are in little endian order, i.e., the one with the lowest address is the "low" half.Both 32-bit utilities take the filenames of the four 8-bit files with the arguments# Split 16bit.bin into low.bin and high.bin: split16bit -i 16bit.bin -l low.bin -h high.bin # Merge low.bin and high.bin into 16bit.bin: merge16bit -o 16bit.bin -l low.bin -h high.bin
-0
,-1
,-2
, and-3
, with byte 0 being the one with the lowest address, i.e., the bytes are in little endian order.These utilities have nothing to with IHEX as such, but they are so small that it didn't seem worth the bother to release them separately.# Split 32bit.bin into a.bin, b.bin, c.bin, and d.bin split32bit -i 32bit.bin -0 a.bin -1 b.bin -2 c.bin -3 d.bin # Merge a.bin, b.bin, c.bin, and d.bin into 32bit.bin merge32bit -o 32bit.bin -0 a.bin -1 b.bin -2 c.bin -3 d.bin
- page md__home_pat1_git_rmap_platformio_stima_v3_stimawifi_README
con la stazione di monitoraggio ambientale Stimawifi.
Tutta la documentazione la trovate:
https://doc.rmap.cc/stima_wifi/stima_wifi_howto.html
Nello specifico
La documentazione per configurare la stazione e pubblicare i dati:
non dimenticate i nostri videotutorial
- page todo
- Module avr_boot
From email with Marek: On smaller devices (all except ATmega64/128), __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" instructions - since the boot loader has a limited size, this could be an important optimization.
From email with Marek: On smaller devices (all except ATmega64/128), __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" instructions - since the boot loader has a limited size, this could be an important optimization.
- dir /home/pat1/git/rmap/platformio/stima_v3/arduino_as_isp
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot_ihex
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-leaf
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-opc
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-power
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-radiation
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-rain
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-th
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-thr
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-wind
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot_ihex/ihex
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_sim800/include
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_i2c_multimaster/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_subscribe_sim800/include
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_ntp/include
- dir /home/pat1/git/rmap/platformio/stima_v3/stimawifi/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sim800/include
- dir /home/pat1/git/rmap/platformio/stima_v3/stima/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_pin/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-wind/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensordriver/include
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensormanager/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-th/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-rain/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-radiation/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-power/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-opc/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-leaf/include
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu_sdcard/include
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-thr/include
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot/pff
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot_ihex/pff
- dir /home/pat1/git/rmap/platformio
- dir /home/pat1/git/rmap/platformio/stima_v3/SdFormatter
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu_sdcard
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-thr/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-rain/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_jsonrpc/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-th/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_pin/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-wind/src
- dir /home/pat1/git/rmap/platformio/stima_v3/SdFormatter/src
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config/src
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu/src
- dir /home/pat1/git/rmap/platformio/stima_v3/sensor_config_menu_sdcard/src
- dir /home/pat1/git/rmap/platformio/stima_v3/stima/src
- dir /home/pat1/git/rmap/platformio/stima_v3/stimawifi/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_logging/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_hyt271/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_i2c_multimaster/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_lcd/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-power/src
- dir /home/pat1/git/rmap/platformio/stima_v3/arduino_as_isp/src
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot/pff/src
- dir /home/pat1/git/rmap/platformio/stima_v3/digitecoboot_ihex/pff/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sim800/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensormanager/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensordriver/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sdfat16/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sdcard/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_rtc/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_ntp/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_subscribe_sim800/src
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_sim800/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-leaf/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-opc/src
- dir /home/pat1/git/rmap/platformio/stima_v3/i2c-radiation/src
- dir /home/pat1/git/rmap/platformio/stima_v3/stima
- dir /home/pat1/git/rmap/platformio/stima_v3
- dir /home/pat1/git/rmap/platformio/stima_v3/stimawifi
- dir /home/pat1/git/rmap/platformio/stima_v3/test_hyt271
- dir /home/pat1/git/rmap/platformio/stima_v3/test_i2c_multimaster
- dir /home/pat1/git/rmap/platformio/stima_v3/test_jsonrpc
- dir /home/pat1/git/rmap/platformio/stima_v3/test_lcd
- dir /home/pat1/git/rmap/platformio/stima_v3/test_logging
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_sim800
- dir /home/pat1/git/rmap/platformio/stima_v3/test_mqtt_subscribe_sim800
- dir /home/pat1/git/rmap/platformio/stima_v3/test_ntp
- dir /home/pat1/git/rmap/platformio/stima_v3/test_pin
- dir /home/pat1/git/rmap/platformio/stima_v3/test_rtc
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sdcard
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sdfat16
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensordriver
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sensormanager
- dir /home/pat1/git/rmap/platformio/stima_v3/test_sim800
- page index
Introduction
software to collect weather data contributed by citizens; to make these data available for weather services and homeland security; to provide feedback to the data contributors so that they have the tools to check and improve their data quality
Howto
STIMA over Ethernet:
Hardware
1) Stima I2C-Base @ 5V
2) Microduino Ethernet WIZ
3) Microduino RJ45
4) Stima core+1284 @ 5V
5) Stima I2C-RTC @ 5V
6) Stima FT232RL
7) Stima SD-Card
Software
1) open sketch arduino/sketchbook/rmap/rmap/rmap.ino
2) in arduino/sketchbook/rmap/rmap/rmap-config.h set STIMA_MODULE_TYPE_REPORT_ETH or STIMA_MODULE_TYPE_SAMPLE_ETH in MODULE_VERSION define
3) open arduino/sketchbook/libraries/RmapConfig/sensors_config.h and set true or false sensors's define and json's define in order to enable or disable relative sensor's driver and library
4) compile and upload firmware
5) short-circuit the two configure pins with a jumper and configure it!
STIMA over GSM/GPRS:
Hardware
1) Stima I2C-Base @ 5V
2) Stima SIM800C Power
3) Stima SIM800C Module
4) Stima core+1284 @ 5V
5) Stima I2C-RTC @ 5V
6) Stima FT232RL
7) Stima SD-Card
Software
1) open sketch arduino/sketchbook/rmap/rmap/rmap.ino
2) in arduino/sketchbook/rmap/rmap/rmap-config.h set STIMA_MODULE_TYPE_REPORT_GSM or STIMA_MODULE_TYPE_SAMPLE_GSM in MODULE_VERSION define
3) open arduino/sketchbook/libraries/RmapConfig/sensors_config.h and set true or false sensors's define and json's define in order to enable or disable relative sensor's driver and library
4) compile and upload firmware
5) short-circuit the two configure pins with a jumper and configure it!
STIMA Passive:
Hardware
1) Stima I2C-Base @ 5V / 3.3V
2) Stima core+1284 @ 5V / Stima core+644 @ 3.3V
3) Stima I2C-RTC @ 5V / 3.3V
4) Stima FT232RL
Software
1) open sketch arduino/sketchbook/rmap/rmap/rmap.ino
2) in arduino/sketchbook/rmap/rmap/rmap-config.h set STIMA_MODULE_TYPE_PASSIVE in MODULE_VERSION define
3) open arduino/sketchbook/libraries/RmapConfig/sensors_config.h and set true or false sensors's define and json's define in order to enable or disable relative sensor's driver and library
4) compile and upload firmware
5) short-circuit the two configure pins with a jumper and configure it!
STIMA I2C-TH:
Hardware
1) Stima I2C-Base @ 3.3V
2) Stima core+644 @ 3.3V
3) Stima FT232RL
4) Stima SD-Card
Software
1) open sketch arduino/sketchbook/rmap/i2c-th/i2c-th.ino
2) open arduino/sketchbook/libraries/RmapConfig/sensors_config.h and set true or false sensors's define and json's define in order to enable or disable relative sensor's driver and library
3) compile and upload firmware
STIMA I2C-Rain:
Hardware
1) Stima I2C-Base @ 3.3V
2) Stima core+644 @ 3.3V
3) Stima I2C-Digital
4) Stima FT232RL
5) Stima SD-Card
Software
1) open sketch arduino/sketchbook/rmap/i2c-rain/i2c-rain.ino
2) open arduino/sketchbook/libraries/RmapConfig/sensors_config.h and set false in all sensors's define and json's define
3) compile and upload firmware
STIMA Meteo Station assembly
1) Stima over Ethernet or Stima over GSM
--> connect with a cable at 5V hub port --> in GSM/GPRS version: connect SMA antenna and insert a SIM card --> in Ethernet version: connect ethernet/POE cable
2) Stima I2C-TH
--> connect with a cable at 3.3V hub port
3) Stima I2C-Rain
--> connect with a cable at 3.3V hub port
--> connect at tipping bucket rain on 2 external pins of Stima I2C-Digital
4) I2C sensor's:
--> connect with a cable at 3.3V or 5V hub port
5) I2C LCD Display
--> connect with a cable at 5V hub port
6) Stima I2C-HUB
Power up the station through one of the following ways:
1) USB power supply with USB type B connector
2) Plug a POE cable into RJ45 interface (only for ethernet version)
3) 5V DC power supply through hub input port
4) DigitecoPower through hub input port with capability of 12V battery backup, solar panel or 12-30V DC input source voltage
in that case, the pins on the DigitecoPower module are:
1) VCC_IN: 12-30V DC input source VCC (+)
2) GND_IN: 12-30V DC input source GND (-)
3) VCC_BAT: 12V DC input/otput battery backup VCC (+)
4) GND_BAT: 12V DC input/otput battery backup GND (-)
5) Status LED: green for battery charged, orange for medium charged battery, red for low battery
6) VCC_OUT: 5V DC output for input hub connector VCC (+)
7) SCL: I2C SCL for input hub connector
8) SDA: I2C SDA for input hub connector
9) GND_OUT: 5V DC output for input hub connector GND (-)
Project Library
For details, look at the specific library files.
RmapConfig
This library contains the definitions that are useful for configuring some default values. Below is a list of the files contained therein.
debug_config.h: Enable or disable debug in sketch and library
ethernet_config.h: Ethernet configuration's parameters (IP, DHCP, delay, ecc..)
gsm_config.h: GSM configuration's parameters (APN, username, ecc..)
hardware_config.h: Hardware configuration's parameters (I2C bus clock, ecc..)
json_config.h: JSON configuration's parameters (buffer length)
lcd_config.h: LCD configuration's parameters (rows, columns, ecc..)
mqtt_config.h: MQTT configuration's parameters (topic length, buffers length, ecc..)
ntp_config.h: NTP configuration's parameters (timezone, server, ecc..)
sdcard_config.h: SDCARD configuration's parameters (name length, ecc..)
sensors_config.h: Enable or disable sensor driver sensors for specific sketch
Rmap
This library contains generic utility features. Below is a list of the files contained therein.
debug.h debug.cpp: Debugging functions for print debug message on serial port or LCD
eeprom_utility.h eeprom_utility.cpp: EEPROM utility for write and read eeprom
i2c_utility.h i2c_utility.cpp: I2C utility for bus recovery
registers.h: General register's define
registers-th.h: I2C-TH register's define
registers-rain.h: I2C-Rain register's define
rmap_utility.h rmap_utility.cpp: RMAP useful functions
sdcard_utility.h sdcard_utility.cpp: SD-Card useful functions
stima_module.h: STIMA station's definition
typedef.h: Useful project typedef
SensorDriver
This library is provided to read measurements from I2C sensors.
SensorDriverSensors.h: define list with sensor names in SensorDriver
SensorDriver.h SensorDriver.cpp: SensorDriver library files
HYT2X1
This library implements functions for read and configure HYT271 and HYT221 sensors.
hyt2x1.h hyt2x1.cpp: HYT2X1 library files
NTP
This library implements NTP functions for read time over NTP server with ethernet client or sim800 client.
ntp.h ntp.cpp: NTP library files
PCF8563
This library implements PCF8563 functions for communicate with pcf8563 real time clock.
pcf8563.h pcf8563.cpp: PCF8563 library files
SIM800
This library implements SIM800 functions for communicate with SIM800C/SIM800L GSM/GPRS module.
sim800.h sim800.cpp: SIM800 library files
sim800Client.h: SIM800 library interface for Arduino Client.
SIM800C is fully supported, SIM800L is partially supported (coming soon...)
Implemented features
Transport
o) Serial: yes
o) Ethernet: partial (basic functions are present but need to interface with Ethernet Client)
o) MQTT: partial (subscribe functions are present but need to interface with rpc process function)
See ArduinoJsonRPC library
SD-Card files
On the sdcard there is a file called mqtt_ptr.txt containing a binary data in uint32_t format corresponding to the seconds passed since 00:00:00 01/01/1970 indicating the last data sent by MQTT.
The data is recorded on files (one file for each recording day) named in the format yyyy_mm_dd.txt and each data recorded on sd card is MQTT_SENSOR_TOPIC_LENGTH + MQTT_MESSAGE_LENGTH bytes long (look at the mqtt_config.h file).
Each recorded data has the format of the type: TRANGE/LEVEL/VAR { “v”: VALUE, “t”: TIME}
SensorDriver's sensors
o) ADT7420 (ADT)
o) HIH6100 (HIH)
o) HYT221 (HYT)
o) HYT271 (HYT)
o) DigitecoPower (DEP)
o) I2C-TH (STH, ITH, NTH, MTH, XTH)
o) I2C-Rain (TBS, TBR)
o) I2C-Wind (DW1)
other sensors can be easily integrated (see SensorDriver library).