32 lines
1.2 KiB
C
32 lines
1.2 KiB
C
/**
|
|
* @file telemetry.h
|
|
* @brief Telemetry-frame creation, checksum finalisation, and serialisation.
|
|
*/
|
|
|
|
#ifndef TELEMETRY_H
|
|
#define TELEMETRY_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "app_types.h"
|
|
|
|
void telemetry_reset(telemetry_frame_t *frame);
|
|
void telemetry_set_message_id(telemetry_frame_t *frame, uint16_t message_id);
|
|
void telemetry_set_live_data(telemetry_frame_t *frame,
|
|
uint16_t laser1_power,
|
|
uint16_t laser2_power,
|
|
uint16_t input_pf3_raw,
|
|
uint16_t input_pf4_raw,
|
|
uint16_t laser1_temperature,
|
|
uint16_t laser2_temperature,
|
|
uint16_t external_temperature_1_raw,
|
|
uint16_t external_temperature_2_raw,
|
|
uint16_t rail_3v3_raw,
|
|
uint16_t rail_5v1_raw,
|
|
uint16_t rail_5v2_raw,
|
|
uint16_t rail_7v0_raw);
|
|
void telemetry_finalize(telemetry_frame_t *frame);
|
|
void telemetry_to_bytes(const telemetry_frame_t *frame, uint8_t *out_bytes);
|
|
|
|
#endif /* TELEMETRY_H */
|