Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
weatherbox:data_specification [2016/03/28 04:31] kluong |
weatherbox:data_specification [2021/09/19 21:59] (current) |
||
---|---|---|---|
Line 2: | Line 2: | ||
This page contains the data specification versions for the weatherbox. | This page contains the data specification versions for the weatherbox. | ||
+ | |||
+ | |||
Line 36: | Line 38: | ||
| solar_irr_w_m2 | 16 | Solar Irradiance. Taken from the apogee reading.. | | | solar_irr_w_m2 | 16 | Solar Irradiance. Taken from the apogee reading.. | | ||
- | In the interests of time, this packet is simplified from the original weatherbox specification. In this specification there are no varying sample rates for each data type - one packet gives you one sample point for each data type. | + | This packet is simplified from the original weatherbox specification. In this specification there are no varying sample rates for each data type - one packet gives you one sample point for each data type. |
===== Converting from volts to w_m2 ===== | ===== Converting from volts to w_m2 ===== | ||
Line 59: | Line 61: | ||
uint16_t address; // Address of the particular node | uint16_t address; // Address of the particular node | ||
uint32_t uptime_ms; // Time since start of program | uint32_t uptime_ms; // Time since start of program | ||
- | uint16_t batt_mv[15]; // Battery Voltage (in milli volts) | + | uint16_t batt_mv[6]; // Battery Voltage (in milli volts) |
- | uint16_t panel_mv[15]; // Panel Voltage (in milli volts) | + | uint16_t panel_mv[6]; // Panel Voltage (in milli volts) |
uint32_t bmp185_press_pa; // Pressure Value (in pascals) | uint32_t bmp185_press_pa; // Pressure Value (in pascals) | ||
int16_t bmp185_temp_decic; // Temperature Value (in celsius) | int16_t bmp185_temp_decic; // Temperature Value (in celsius) | ||
uint16_t humidity_centi_pct; | uint16_t humidity_centi_pct; | ||
uint16_t solar_irr_w_m2[20]; | uint16_t solar_irr_w_m2[20]; | ||
- | } schema_296; | + | } schema_296_full; |
</code> | </code> | ||
- | Comments: | + | Additional Comments: |
* These numbers are all in reference to a minute - since batt_mv has 15 entries, there will be 15 samples per minute. These datapoints should be spread evenly through the minute. For example, batt_mv will be sampled every 60/15 or every 4 seconds. | * These numbers are all in reference to a minute - since batt_mv has 15 entries, there will be 15 samples per minute. These datapoints should be spread evenly through the minute. For example, batt_mv will be sampled every 60/15 or every 4 seconds. | ||
* Single data types are allowed to be sampled at any point during the minute, so long as it is consistent across all data points. | * Single data types are allowed to be sampled at any point during the minute, so long as it is consistent across all data points. | ||
* Your sampling pattern should be consistent for every minute. | * Your sampling pattern should be consistent for every minute. | ||
+ | * For this schema, you should set the schema number in your packet to 297 instead of 296. | ||
====== Schema v1 ====== | ====== Schema v1 ====== | ||
Line 85: | Line 88: | ||
uint32_t uptime_ms; // Time since start of program | uint32_t uptime_ms; // Time since start of program | ||
uint8_t n; // number of data points in packet 0..30 | uint8_t n; // number of data points in packet 0..30 | ||
- | uint16_t batt_mv[15]; // Battery Voltage (in milli volts) | + | uint16_t batt_mv[6]; // Battery Voltage (in milli volts) |
- | uint16_t panel_mv[15]; // Panel Voltage (in milli volts) | + | uint16_t panel_mv[6]; // Panel Voltage (in milli volts) |
uint32_t bmp085_press_pa; // Pressure Value (in pascals) | uint32_t bmp085_press_pa; // Pressure Value (in pascals) | ||
int16_t bmp085_temp_decic; // Temperature Value (in celsius) | int16_t bmp085_temp_decic; // Temperature Value (in celsius) | ||
uint16_t humidity_centi_pct; | uint16_t humidity_centi_pct; | ||
- | uint16_t apogee_w_m2[60]; | + | uint16_t apogee_w_m2[20]; |
} schema_1; | } schema_1; | ||
Line 134: | Line 137: | ||
uint16_t apogee_w_m2[20]; | uint16_t apogee_w_m2[20]; | ||
} schema_3; | } schema_3; | ||
+ | </code> | ||
+ | ====== Unified Packet Schema ====== | ||
+ | // Schema Number 5 | ||
+ | // Fields that are unimplemented should be set to 0 | ||
+ | This schema is currently in draft. | ||
+ | <code> | ||
+ | typedef struct { | ||
+ | uint16_t schema; // Schema Identification Number | ||
+ | uint16_t address; // Address of the particular node | ||
+ | uint32_t uptime_ms; // Time since start of program | ||
+ | float batt_mv; // Battery Voltage (in milli volts) | ||
+ | float panel_mv; // Panel Voltage (in milli volts) | ||
+ | float bmp185_press_pa; // Pressure Value (in pascals) | ||
+ | float bmp185_temp_decic; // Temperature Value (in celsius) | ||
+ | float humidity_centi_pct; | ||
+ | float solar_irr_w_m2; | ||
+ | } schema_unified; | ||
+ | // Total bytes to aim for under: 84 | ||
</code> | </code> | ||
+ |