14#include "devicelist.h"
17static void Baro_exec(
UART_t *uart,
char *);
19DEFINE_PROGRAM_HANDLE(
"baro", Baro_exec, NULL)
30static void Baro_exec(
UART_t *uart,
char *flags) {
34 int SHELL_BARO_READ = parser.addArg(
35 &parser,
"read",
'r', ARG_TYPE_BOOL,
false
38 char *tokens[MAX_ARGS];
42 char *token = strtok(flags,
" ");
43 while (token != NULL && numTokens < MAX_ARGS) {
44 tokens[numTokens++] = token;
45 token = strtok(NULL,
" ");
49 parser.parseArgs(&parser, numTokens, tokens);
52 if (parser.error.status == PARSER_STATUS_OK && parser.args[SHELL_BARO_READ].provided) {
54 snprintf(str, 50,
"Ground pressure: %f", baro->
groundPress);
55 uart->println(uart, str);
56 snprintf(str, 50,
"Current pressure: %f", baro->
press);
57 uart->println(uart, str);
58 snprintf(str, 50,
"Current temperature: %f", baro->
temp);
59 uart->println(uart, str);
61 uart->println(uart, parser.error.msg);
Defines the API for the Barometer sensor.
float temp
Last read processed temperature value.
float press
Last read processed pressure value.
float groundPress
Stored ground pressure reading.
void(* update)(struct Baro *baro)
Pointer to update method.
DeviceHandle_t DeviceList_getDeviceHandle(DeviceKey)
Retrieve device handle from list by key.
Struct definition for UART interface.