Guest User

Untitled

a guest
Feb 22nd, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. /*******************************
  2. *
  3. * File: gs_board.h
  4. *
  5. * Contains struct for Snapdragon packet, heartbeat, and board
  6. *
  7. ******************************/
  8.  
  9. #include "gs_dev_digi_xbee.h"
  10. #include "gs_dev_apogee_SP215_irradiance.h"
  11. #include "gs_dev_battery.h"
  12. #include "gs_dev_solar_panel.h"
  13. #include "gs_dev_eeprom_node_address.h"
  14. #include "gs_dev_maxim_DS18B20.h"
  15. #include "gs_dev_sensirion_SHT1X_humidity.h"
  16. #include "gs_dev_adafruit_MPL115A2_pressure.h"
  17.  
  18. #ifndef gs_BOARD_H
  19. #define gs_BOARD_H
  20.  
  21. struct gs_packet{
  22. uint16_t schema;
  23. uint16_t node_address; // Address of Arduino
  24. uint32_t uptime_milliseconds; // Time since start of program
  25. uint16_t battery_millivolts; // Battery Voltage (in milli volts)
  26. uint16_t panel_millivolts; // Panel Voltage (in milli volts)
  27. uint32_t mpl115a2t1_pressure_pascals; // Pressure Value (in pascals)
  28. uint16_t DS18B20_temperature_kelvin; // Temperature Value (in Kelvin)
  29. uint16_t SHT1X_humidity_percent; // Humidity Value (in percentage)
  30. uint16_t sp215_irradiance_watts_per_square_meter; // Solar Irradiance Value (in W/m^2)
  31. };
  32.  
  33. struct gs_heartbeat_packet{
  34. uint16_t schema;
  35. uint16_t node_address; // Address of Arduino
  36. uint32_t uptime_milliseconds; // Time since start of program
  37. uint16_t battery_millivolts; // Battery Voltage (in milli volts)
  38. };
  39.  
  40. struct gs_board{
  41. void (*setup)(struct gs_board* b);
  42. void (*post)(void);
  43. void (*sample)(struct gs_board* b);
  44. void (*run_cmd)(struct gs_board* b);
  45. void (*print_build_opts)(void);
  46. void (*tx)(struct gs_board* b);
  47. int (*ready_tx)(struct gs_board* b);
  48. int (*ready_sample)(struct gs_board* b);
  49. int (*ready_run_cmd)(struct gs_board* b);
  50.  
  51. int (*ready_heartbeat_tx)(struct gs_board* b);
  52. void (*heartbeat_tx)(struct gs_board* b);
  53.  
  54. unsigned long prev_sample_ms;
  55. unsigned long prev_heartbeat_ms;
  56. int sample_count;
  57. uint16_t node_address;
  58. struct gs_packet data_packet;
  59. };
  60.  
  61.  
  62. void gs_board_init(struct gs_board*);
  63.  
  64. #endif
Add Comment
Please, Sign In to add comment