1#ifndef __PACKET_UTILS_H__
2#define __PACKET_UTILS_H__
12#define PACKET_BYTES (111)
13#define PAYLOAD_BYTES (48)
14#define PKT_NO_LOCATION (-1)
20typedef enum : uint8_t {
26typedef enum : uint8_t {
32typedef enum : uint8_t {
37typedef enum : uint8_t {
42typedef enum : uint8_t {
48typedef enum : uint8_t {
53typedef enum : uint8_t {
63typedef enum : uint8_t {
67typedef enum : uint8_t {
126 int8_t* restrict relative_loc
161 const uint8_t* restrict payload,
Definition packet_utils.c:30
Definition packet_utils.c:61
Definition packet_utils.c:48
tm_category_t
Definition packet_utils.h:26
@ TM_EVENT
Definition packet_utils.h:29
@ TM_BDATA
Definition packet_utils.h:28
@ TM_SDATA
Definition packet_utils.h:27
struct packet packet_t
Definition packet_utils.h:73
void dec_pool_destroy(pkt_dec_pool_t *restrict pool)
Definition packet_utils.c:458
pkt_err_t header_old_sensor_config(header_t *restrict header, uint16_t old_id)
Definition packet_utils.c:581
pkt_err_t
Definition packet_utils.h:101
@ PKT_OK
Definition packet_utils.h:102
@ PKT_ERR_SYNC
Definition packet_utils.h:105
@ PKT_ERR_INVALID_ARG
Definition packet_utils.h:104
@ PKT_FAIL
Definition packet_utils.h:103
@ PKT_ERR_CRC
Definition packet_utils.h:106
uint8_t u8
Definition packet_utils.h:81
pkt_err_t pkt_set_header(packet_t *restrict pkt, const header_t *restrict header)
Definition packet_utils.c:608
tm_sdata_type_t
Definition packet_utils.h:32
@ TM_SDATA_STATUS
Definition packet_utils.h:34
@ TM_SDATA_SENSORS
Definition packet_utils.h:33
pkt_err_t header_sensor_config(header_t *restrict header)
Definition packet_utils.c:570
tc_category_t
Definition packet_utils.h:48
@ TC_CTRL
Definition packet_utils.h:49
@ TC_REQ
Definition packet_utils.h:50
tc_ctrl_type_t ctrl
Definition packet_utils.h:89
pkt_err_t pkt_get_id(const packet_t *restrict pkt, uint16_t *id)
Definition packet_utils.c:562
domain_t
Definition packet_utils.h:20
@ DOMAIN_TM
Telemetry domain (CubeSat to Ground).
Definition packet_utils.h:21
@ DOMAIN_TC
Telecommand domain (Ground to CubeSat).
Definition packet_utils.h:22
@ DOMAIN_TEST
Test domain (Ground to CubeSat, for tests only).
Definition packet_utils.h:23
pkt_err_t pkt_log(const packet_t *restrict pkt)
Definition packet_utils.c:666
tm_category_t tm
Definition packet_utils.h:78
tc_req_type_t req
Definition packet_utils.h:88
void pkt_destroy(packet_t *restrict pkt)
Definition packet_utils.c:417
tm_bdata_type_t bdata
Definition packet_utils.h:86
pkt_enc_pool_t * enc_pool_create(void)
Definition packet_utils.c:426
tm_event_type_t event
Definition packet_utils.h:87
pkt_err_t pkt_get_payload(const packet_t *restrict pkt, uint8_t *payload, size_t len)
Definition packet_utils.c:627
uint16_t total
Definition packet_utils.h:98
tm_sdata_type_t sdata
Definition packet_utils.h:85
struct pkt_enc_pool pkt_enc_pool_t
Definition packet_utils.h:74
packet_t * pkt_create(void)
Definition packet_utils.c:408
uint8_t u8
Definition packet_utils.h:90
pkt_err_t dec_pool_get_pkt_from_relative_loc(const pkt_dec_pool_t *restrict pool, int8_t relative_loc, packet_t *restrict pkt)
Definition packet_utils.c:535
pkt_err_t pkt_test_random_set_sync8(packet_t *restrict pkt, bool *failed)
Definition packet_utils.c:716
pkt_dec_pool_t * dec_pool_create(void)
Definition packet_utils.c:447
struct pkt_dec_pool pkt_dec_pool_t
Definition packet_utils.h:75
pkt_err_t pkt_test_random_set_crc16(packet_t *restrict pkt)
Definition packet_utils.c:730
category_t category
Definition packet_utils.h:95
tc_req_type_t
Definition packet_utils.h:53
@ TC_REQ_IMAGE
Definition packet_utils.h:56
@ TC_REQ_SENSORS
Definition packet_utils.h:54
@ TC_REQ_LOG
Definition packet_utils.h:58
@ TC_REQ_ERROR
Definition packet_utils.h:59
@ TC_REQ_CRASH
Definition packet_utils.h:60
@ TC_REQ_STATUS
Definition packet_utils.h:55
@ TC_REQ_VIDEO
Definition packet_utils.h:57
test_category_t
Definition packet_utils.h:67
@ TEST_WIMG
Write an image to OBC memory.
Definition packet_utils.h:68
@ TEST_FRM
Remove a file from OBC file system.
Definition packet_utils.h:69
@ TEST_MSG
Send a text message.
Definition packet_utils.h:70
type_t type
Definition packet_utils.h:96
tc_ctrl_type_t
Definition packet_utils.h:63
@ TC_CTRL_REBOOT
Definition packet_utils.h:64
tm_bdata_type_t
Definition packet_utils.h:37
@ TM_BDATA_IMAGE
Definition packet_utils.h:38
@ TM_BDATA_VIDEO
Definition packet_utils.h:39
tm_event_type_t
Definition packet_utils.h:42
@ TM_EVENT_CRASH
Definition packet_utils.h:45
@ TM_EVENT_ERROR
Definition packet_utils.h:44
@ TM_EVENT_LOG
Definition packet_utils.h:43
uint16_t index
Definition packet_utils.h:97
pkt_err_t pkt_decode(const packet_t *restrict pkt, pkt_dec_pool_t *restrict pool, int8_t *restrict relative_loc)
Definition packet_utils.c:496
void enc_pool_destroy(pkt_enc_pool_t *restrict pool)
Definition packet_utils.c:437
tc_category_t tc
Definition packet_utils.h:79
test_category_t test
Definition packet_utils.h:80
pkt_err_t pkt_encode(packet_t *restrict pkt, pkt_enc_pool_t *restrict pool)
Definition packet_utils.c:468
domain_t domain
Definition packet_utils.h:94
pkt_err_t pkt_get_header(const packet_t *restrict pkt, header_t *header)
Definition packet_utils.c:592
pkt_err_t pkt_set_payload(packet_t *restrict pkt, const uint8_t *restrict payload, size_t len)
Definition packet_utils.c:642
bool pkt_is_chunked(const packet_t *restrict pkt)
Definition packet_utils.c:661
Definition packet_utils.h:77
Definition packet_utils.h:84