Implements the sensor subroutine, metadata updater, trigger updater, and parameter updater.  
More...
 | 
| int  | take_readings (char *labels[], float readings[], uint8 *array_ix, uint8 take_average, uint8 max_size) | 
|   | Takes sensor readings and stores results into an array of labels and an array of readings.  More...
  | 
|   | 
| uint8  | execute_triggers (char *labels[], float readings[], uint8 *array_ix, uint8 max_size) | 
|   | Executes triggers and stores results into an array of labels and an array of readings.  More...
  | 
|   | 
| uint8  | zip_meta (char *labels[], float readings[], uint8 *array_ix, uint8 max_size) | 
|   | Inserts current value of meta_trigger into readings array.  More...
  | 
|   | 
| uint8  | zip_modem (char *labels[], float readings[], uint8 *array_ix, uint8 max_size) | 
|   | Inserts current values of connection_attempt_counter rssi and fer into readings array.  More...
  | 
|   | 
| uint8  | send_readings (char *body, char *send_str, char *response_str, char *socket_dial_str, char *labels[], float readings[], uint8 nvars) | 
|   | Send readings to influxdb.  More...
  | 
|   | 
| uint8  | run_meta_subroutine (char *meid, char *send_str, char *response_str, uint8 get_device_meid) | 
|   | Runs update_meta and stores the results in an array of readings and labels.  More...
  | 
|   | 
| int  | update_meta (char *meid, char *send_str, char *response_str) | 
|   | Update values of node_id, node_user, node_pass, node_db on device based on current values stored on server.  More...
  | 
|   | 
| int  | update_triggers (char *body, char *send_str, char *response_str) | 
|   | Update values of triggers, such as valve_trigger, autosampler_trigger and gps_trigger based on current values stored on server.  More...
  | 
|   | 
| void  | update_params (char *body, char *send_str, char *response_str) | 
|   | Update values of onboard parameters, such as sleeptimer and flags such as ultrasonic_flag or valve_flag.  More...
  | 
|   | 
| void  | construct_route (char *route, char *base, char *user, char *pass, char *database) | 
|   | Constructs the route (URL) following the base endpoint.  More...
  | 
|   | 
| void  | construct_default_body (char *data_packet, char *labels[], float readings[], int nvars) | 
|   | Parses label and readings arrays into an influxdb line protocol body.  More...
  | 
|   | 
| uint8  | append_tags (char *main_tags, char *appended_label, char *appended_value) | 
|   | Append new tags to existing influxdb tags.  More...
  | 
|   | 
| char *  | url_encode (char *str) | 
|   | Return a URL-encoded version of the input string.  More...
  | 
|   | 
 | 
| 
char  | node_id [20] = DEFAULT_NODE_ID | 
|   | 
| 
char  | user [20] = DEFAULT_HOME_USER | 
|   | 
| 
char  | pass [50] = DEFAULT_HOME_PASS | 
|   | 
| 
char  | database [20] = DEFAULT_HOME_DB | 
|   | 
| 
char  | meta_user [20] = DEFAULT_META_USER | 
|   | 
| 
char  | meta_pass [50] = DEFAULT_META_PASS | 
|   | 
| 
char  | meta_database [20] = DEFAULT_META_DB | 
|   | 
| 
int  | main_port = DEFAULT_HOME_PORT | 
|   | 
| 
char  | main_host [100] = DEFAULT_HOME_HOST | 
|   | 
| 
char  | main_tags [200] = DEFAULT_GLOBAL_TAGS | 
|   | 
| 
char  | write_route [60] = "" | 
|   | 
| 
char  | main_query [300] = {'\0'} | 
|   | 
| 
int  | service_flag = 1u | 
|   | 
| 
int  | sleeptimer = SLEEPTIMER | 
|   | 
| 
int  | max_conn_attempts = MAX_CONNECTION_ATTEMPTS | 
|   | 
| 
uint8  | enable_ssl_config = ENABLE_SSL_CONFIG | 
|   | 
| 
uint8  | enable_ssl_sec_config = ENABLE_SSL_SEC_CONFIG | 
|   | 
| 
uint8  | ssl_enabled = SSL_ENABLED | 
|   | 
| 
int  | modem_flag = MODEM_FLAG | 
|   | 
| 
int  | meta_flag = META_FLAG | 
|   | 
| 
int  | vbat_flag = VBAT_FLAG | 
|   | 
| 
int  | gps_flag = GPS_FLAG | 
|   | 
| 
int  | ultrasonic_flag = ULTRASONIC_FLAG | 
|   | 
| 
int  | ultrasonic_2_flag = ULTRASONIC_2_FLAG | 
|   | 
| 
int  | senix_flag = SENIX_FLAG | 
|   | 
| 
int  | optical_rain_flag = OPTICAL_RAIN_FLAG | 
|   | 
| 
int  | decagon_flag = DECAGON_FLAG | 
|   | 
| 
int  | autosampler_flag = AUTOSAMPLER_FLAG | 
|   | 
| 
int  | valve_flag = VALVE_FLAG | 
|   | 
| 
int  | valve_2_flag = VALVE_2_FLAG | 
|   | 
| 
int  | atlas_wq_flag = ATLAS_WQ_FLAG | 
|   | 
| 
int  | autosampler_trigger = AUTOSAMPLER_TRIGGER | 
|   | 
| 
int  | valve_trigger = VALVE_TRIGGER | 
|   | 
| 
int  | valve_2_trigger = VALVE_2_TRIGGER | 
|   | 
| 
int  | meta_trigger = META_TRIGGER | 
|   | 
| 
int  | gps_trigger = GPS_TRIGGER | 
|   | 
| 
int  | vbat_loops = VBAT_LOOPS | 
|   | 
| 
int  | ultrasonic_loops = ULTRASONIC_LOOPS | 
|   | 
| 
int  | optical_rain_loops = OPTICAL_RAIN_LOOPS | 
|   | 
| 
int  | decagon_loops = DECAGON_LOOPS | 
|   | 
| 
int  | connection_attempt_counter = 0 | 
|   | 
| 
int  | rssi = 0u | 
|   | 
| 
int  | fer = 0u | 
|   | 
| 
uint8  | bottle_count = 0 | 
|   | 
| 
int  | valve = 0 | 
|   | 
| 
uint8  | array_ix = 0u | 
|   | 
Implements the sensor subroutine, metadata updater, trigger updater, and parameter updater. 
- Author
 - Matt Bartos and Brandon Wong 
 
- Version
 - TODO 
 
- Date
 - 2017-06-01