SP8EBC-ParaTNC/system/include/aprs/telemetry.h

99 wiersze
2.6 KiB
C
Czysty Zwykły widok Historia

2017-08-20 12:41:17 +00:00
/*
* telemetry.h
*
* Created on: 01.07.2017
* Author: mateusz
*/
#ifndef INCLUDE_APRS_TELEMETRY_H_
#define INCLUDE_APRS_TELEMETRY_H_
2023-06-30 21:01:36 +00:00
#include <stored_configuration_nvm/config_data.h>
2019-01-26 22:18:25 +00:00
#include "./drivers/dallas.h"
#include "./drivers/ms5611.h"
2020-03-29 07:12:23 +00:00
#include "./umb_master/umb_qf_t.h"
2021-04-04 08:50:55 +00:00
#include "./ve_direct_protocol/raw_struct.h"
#include "./ve_direct_protocol/average_struct.h"
2019-01-26 22:18:25 +00:00
2019-04-03 12:26:04 +00:00
#include "./station_config.h"
#define TELEMETRY_MIN_DALLAS -25.0f
#define TELEMETRY_MAX_DALLAS 38.75f
2019-04-04 17:57:21 +00:00
#include "ve_direct_protocol/parser.h"
2019-01-26 22:18:25 +00:00
#include "stdint.h"
typedef enum pressure_qf {
PRESSURE_QF_UNKNOWN = 0,
PRESSURE_QF_FULL = 1,
PRESSURE_QF_NOT_AVALIABLE = 2,
PRESSURE_QF_DEGRADATED = 3
}pressure_qf_t;
typedef enum humidity_qf {
HUMIDITY_QF_UNKNOWN = 0,
HUMIDITY_QF_FULL = 1,
HUMIDITY_QF_NOT_AVALIABLE = 2,
HUMIDITY_QF_DEGRADATED = 3
}humidity_qf_t;
typedef enum wind_qf {
WIND_QF_UNKNOWN = 0,
WIND_QF_FULL = 1,
WIND_QF_NOT_AVALIABLE = 2,
WIND_QF_DEGRADATED = 3
}wind_qf_t;
2017-08-20 12:41:17 +00:00
#ifdef __cplusplus
extern "C"
{
#endif
2019-04-03 12:26:04 +00:00
void telemetry_send_values_pv ( uint8_t rx_pkts,
uint8_t digi_pkts,
int16_t raw_battery_current,
uint16_t raw_battery_voltage,
uint16_t raw_pv_cell_voltage,
dallas_qf_t dallas_qf,
2021-03-23 18:00:56 +00:00
pressure_qf_t press_qf,
humidity_qf_t humid_qf,
wind_qf_t anemometer_q);
2021-04-05 19:48:23 +00:00
void telemetry_send_chns_description_pv(const config_data_basic_t * const config_basic);
2021-03-22 21:28:26 +00:00
void telemetry_send_status_pv(ve_direct_average_struct* avg, ve_direct_error_reason* last_error, ve_direct_system_state state, uint32_t master_time, uint16_t messages_count, uint16_t corrupted_messages_count);
2019-04-04 17:57:21 +00:00
2022-04-04 15:18:02 +00:00
#ifdef STM32L471xx
2022-04-05 17:01:57 +00:00
void telemetry_send_values( uint8_t rx_pkts,
uint8_t tx_pkts,
uint8_t digi_pkts,
uint16_t vbatt_voltage,
uint8_t viscous_drop_pkts,
float temperature,
dallas_qf_t dallas_qf,
pressure_qf_t press_qf,
humidity_qf_t humid_qf,
wind_qf_t anemometer_qf,
int8_t cutoff_and_vbat_low,
2022-04-05 17:01:57 +00:00
const config_data_mode_t * const config_mode);
2022-04-04 15:18:02 +00:00
#else
2019-01-26 22:18:25 +00:00
void telemetry_send_values( uint8_t rx_pkts,
uint8_t tx_pkts,
uint8_t digi_pkts,
uint8_t kiss_pkts,
uint8_t viscous_drop_pkts,
2019-01-26 22:18:25 +00:00
float temperature,
dallas_qf_t dallas_qf,
pressure_qf_t press_qf,
humidity_qf_t humid_qf,
wind_qf_t anemometer_qf,
const config_data_mode_t * const config_mode);
2022-04-04 15:18:02 +00:00
#endif
void telemetry_send_chns_description(const config_data_basic_t * const config_basic, const config_data_mode_t * const config_mode);
2017-08-20 12:41:17 +00:00
#ifdef __cplusplus
}
#endif
#endif /* INCLUDE_APRS_TELEMETRY_H_ */