GNU Radio's SATNOGS Package
tc_tm.h File Reference
#include <satnogs/api.h>
#include <stdint.h>

Go to the source code of this file.

Classes

union  gr::satnogs::_cnv
 
struct  gr::satnogs::tc_tm_pkt
 

Namespaces

 gr
 
 gr::satnogs
 

Macros

#define ECSS_VER_NUMBER   0
 
#define ECSS_DATA_FIELD_HDR_FLG   1
 
#define TC_TM_SER_TC_VER   1
 
#define ECSS_PUS_VER   1
 
#define ECSS_SEC_HDR_FIELD_FLG   0
 
#define TC_TM_SER_TC_VER_ACC_SUCC   1
 
#define TC_TM_SER_TC_VER_ACC_FAIL   2
 
#define TC_TM_SER_TC_VER_EXEC_START_SUCC   3
 
#define TC_TM_SER_TC_VER_EXEC_START_FAIL   4
 
#define TC_TM_SER_TC_VER_EXEC_PROG_SUCC   5
 
#define TC_TM_SER_TC_VER_EXEC_PROG_FAIL   6
 
#define TC_TM_SER_TC_VER_EXEC_COMP_SUCC   7
 
#define TC_TM_SER_TC_VER_EXEC_COMP_FAIL   8
 
#define TC_TM_SER_DIST   2
 
#define TC_TM_SER_HK   3
 
#define TC_TM_SER_HK_PAR   25
 
#define TC_TM_SER_STAT   4
 
#define TC_TM_SER_EVENT   5
 
#define TC_TM_SER_MEM   6
 
#define TC_TM_SER_NC1   7
 
#define TC_TM_SER_FMAG   8
 
#define TC_TM_SER_TMAG   9
 
#define TC_TM_SER_NC2   10
 
#define TC_TM_SER_SCH   11
 
#define TC_TM_SER_MON   12
 
#define TC_TM_SER_LDATA   13
 
#define TC_TM_SER_PCKT_FWD   14
 
#define TC_TM_SER_STORAGE   15
 
#define TC_TM_SER_NC3   16
 
#define TC_TM_SER_TEST   17
 
#define TC_TM_SER_PROC   18
 
#define TC_TM_SER_EV_ACT   19
 
#define TC_TM_SEQ_FPACKET   0x01
 
#define TC_TM_SEQ_CPACKET   0x00
 
#define TC_TM_SEQ_LPACKET   0x02
 
#define TC_TM_SEQ_SPACKET   0x03
 
#define TC_ACK_NO   0x00
 
#define TC_ACK_ACC   0x01
 
#define TC_ACK_EXE_START   0x02
 
#define TC_ACK_EXE_PROG   0x04
 
#define TC_ACK_EXE_COMP   0x08
 
#define TC_ACK_ALL   0x0F
 
#define TC_TM_SER_LDATA_MAX_DATA_PKT   512
 
#define VER_NUMBER
 
#define TC_TM_TYPE
 
#define DATA_FIELD_HDR_FLG
 
#define APP_ID
 
#define SEQ_FLG
 
#define MAX_PKT_DATA   20
 
#define MAX_EX_PKT_DATA   512
 
#define MAX_APP_ID   20
 
#define MAX_SERVICES   20
 
#define MAX_SUBTYPES   26
 
#define TC   1
 
#define TM   0
 
#define TC_VERIFICATION_SERVICE   1
 
#define TC_HOUSEKEEPING_SERVICE   3
 
#define TC_FUNCTION_MANAGEMENT_SERVICE   8
 
#define TC_LARGE_DATA_SERVICE   13
 
#define TC_MASS_STORAGE_SERVICE   15
 
#define TC_TEST_SERVICE   17
 
#define OBC   1
 
#define EPS   2
 
#define ADCS   3
 
#define COMMS   4
 
#define IAC   5
 
#define GND   6
 
#define SD1   1
 
#define TURN_OFF   0
 
#define TURN_ON   1
 
#define RESET   2
 

Enumerations

enum  gr::satnogs::OBC_ret_state_t {
  gr::satnogs::R_OBC_PKT_ILLEGAL_APPID = 0, gr::satnogs::R_OBC_PKT_INV_LEN = 1, gr::satnogs::R_OBC_PKT_INC_CRC = 2, gr::satnogs::R_OBC_PKT_ILLEGAL_PKT_TP = 3,
  gr::satnogs::R_OBC_PKT_ILLEGAL_PKT_STP = 4, gr::satnogs::R_OBC_PKT_ILLEGAL_APP_DATA = 5, gr::satnogs::R_OBC_OK = 6, gr::satnogs::R_OBC_ERROR = 7,
  gr::satnogs::R_OBC_EOT = 8
}
 Telemetry and telecommands packet methods. More...
 

Functions

OBC_ret_state_t gr::satnogs::verification_pack_pkt_api (uint8_t *buf, tc_tm_pkt *pkt, uint16_t *buf_pointer)
 
OBC_ret_state_t gr::satnogs::hk_pack_pkt_api (uint8_t *buf, tc_tm_pkt *pkt, uint16_t *buf_pointer)
 
static uint8_t gr::satnogs::ecss_tm_checksum (const uint8_t *data, uint16_t size)
 
static OBC_ret_state_t gr::satnogs::ecss_tm_unpack_pkt (const uint8_t *buf, tc_tm_pkt *pkt, const uint16_t size)
 
static OBC_ret_state_t gr::satnogs::ecss_tm_pack_pkt (uint8_t *buf, tc_tm_pkt *pkt, uint16_t *size)
 
static OBC_ret_state_t gr::satnogs::ecss_tm_crt_pkt (tc_tm_pkt *pkt, uint16_t app_id, uint8_t type, uint8_t ack, uint8_t ser_type, uint8_t ser_subtype, uint16_t dest_id)
 

Variables

const uint8_t gr::satnogs::services_verification_TC_TM [MAX_SERVICES][MAX_SUBTYPES][2]
 
const uint8_t gr::satnogs::app_id_verification [MAX_APP_ID]
 
const uint8_t gr::satnogs::services_verification_OBC_TC [MAX_SERVICES][MAX_SUBTYPES]
 

Macro Definition Documentation

◆ ADCS

#define ADCS   3

◆ APP_ID

#define APP_ID

◆ COMMS

#define COMMS   4

◆ DATA_FIELD_HDR_FLG

#define DATA_FIELD_HDR_FLG

◆ ECSS_DATA_FIELD_HDR_FLG

#define ECSS_DATA_FIELD_HDR_FLG   1

◆ ECSS_PUS_VER

#define ECSS_PUS_VER   1

◆ ECSS_SEC_HDR_FIELD_FLG

#define ECSS_SEC_HDR_FIELD_FLG   0

◆ ECSS_VER_NUMBER

#define ECSS_VER_NUMBER   0

◆ EPS

#define EPS   2

◆ GND

#define GND   6

◆ IAC

#define IAC   5

◆ MAX_APP_ID

#define MAX_APP_ID   20

◆ MAX_EX_PKT_DATA

#define MAX_EX_PKT_DATA   512

◆ MAX_PKT_DATA

#define MAX_PKT_DATA   20

◆ MAX_SERVICES

#define MAX_SERVICES   20

◆ MAX_SUBTYPES

#define MAX_SUBTYPES   26

◆ OBC

#define OBC   1

◆ RESET

#define RESET   2

◆ SD1

#define SD1   1

◆ SEQ_FLG

#define SEQ_FLG

◆ TC

◆ TC_ACK_ACC

#define TC_ACK_ACC   0x01

◆ TC_ACK_ALL

#define TC_ACK_ALL   0x0F

◆ TC_ACK_EXE_COMP

#define TC_ACK_EXE_COMP   0x08

◆ TC_ACK_EXE_PROG

#define TC_ACK_EXE_PROG   0x04

◆ TC_ACK_EXE_START

#define TC_ACK_EXE_START   0x02

◆ TC_ACK_NO

#define TC_ACK_NO   0x00

◆ TC_FUNCTION_MANAGEMENT_SERVICE

#define TC_FUNCTION_MANAGEMENT_SERVICE   8

◆ TC_HOUSEKEEPING_SERVICE

#define TC_HOUSEKEEPING_SERVICE   3

◆ TC_LARGE_DATA_SERVICE

#define TC_LARGE_DATA_SERVICE   13

◆ TC_MASS_STORAGE_SERVICE

#define TC_MASS_STORAGE_SERVICE   15

◆ TC_TEST_SERVICE

#define TC_TEST_SERVICE   17

◆ TC_TM_SEQ_CPACKET

#define TC_TM_SEQ_CPACKET   0x00

◆ TC_TM_SEQ_FPACKET

#define TC_TM_SEQ_FPACKET   0x01

◆ TC_TM_SEQ_LPACKET

#define TC_TM_SEQ_LPACKET   0x02

◆ TC_TM_SEQ_SPACKET

#define TC_TM_SEQ_SPACKET   0x03

◆ TC_TM_SER_DIST

#define TC_TM_SER_DIST   2

◆ TC_TM_SER_EV_ACT

#define TC_TM_SER_EV_ACT   19

◆ TC_TM_SER_EVENT

#define TC_TM_SER_EVENT   5

◆ TC_TM_SER_FMAG

#define TC_TM_SER_FMAG   8

◆ TC_TM_SER_HK

#define TC_TM_SER_HK   3

◆ TC_TM_SER_HK_PAR

#define TC_TM_SER_HK_PAR   25

◆ TC_TM_SER_LDATA

#define TC_TM_SER_LDATA   13

◆ TC_TM_SER_LDATA_MAX_DATA_PKT

#define TC_TM_SER_LDATA_MAX_DATA_PKT   512

◆ TC_TM_SER_MEM

#define TC_TM_SER_MEM   6

◆ TC_TM_SER_MON

#define TC_TM_SER_MON   12

◆ TC_TM_SER_NC1

#define TC_TM_SER_NC1   7

◆ TC_TM_SER_NC2

#define TC_TM_SER_NC2   10

◆ TC_TM_SER_NC3

#define TC_TM_SER_NC3   16

◆ TC_TM_SER_PCKT_FWD

#define TC_TM_SER_PCKT_FWD   14

◆ TC_TM_SER_PROC

#define TC_TM_SER_PROC   18

◆ TC_TM_SER_SCH

#define TC_TM_SER_SCH   11

◆ TC_TM_SER_STAT

#define TC_TM_SER_STAT   4

◆ TC_TM_SER_STORAGE

#define TC_TM_SER_STORAGE   15

◆ TC_TM_SER_TC_VER

#define TC_TM_SER_TC_VER   1

◆ TC_TM_SER_TC_VER_ACC_FAIL

#define TC_TM_SER_TC_VER_ACC_FAIL   2

◆ TC_TM_SER_TC_VER_ACC_SUCC

#define TC_TM_SER_TC_VER_ACC_SUCC   1

◆ TC_TM_SER_TC_VER_EXEC_COMP_FAIL

#define TC_TM_SER_TC_VER_EXEC_COMP_FAIL   8

◆ TC_TM_SER_TC_VER_EXEC_COMP_SUCC

#define TC_TM_SER_TC_VER_EXEC_COMP_SUCC   7

◆ TC_TM_SER_TC_VER_EXEC_PROG_FAIL

#define TC_TM_SER_TC_VER_EXEC_PROG_FAIL   6

◆ TC_TM_SER_TC_VER_EXEC_PROG_SUCC

#define TC_TM_SER_TC_VER_EXEC_PROG_SUCC   5

◆ TC_TM_SER_TC_VER_EXEC_START_FAIL

#define TC_TM_SER_TC_VER_EXEC_START_FAIL   4

◆ TC_TM_SER_TC_VER_EXEC_START_SUCC

#define TC_TM_SER_TC_VER_EXEC_START_SUCC   3

◆ TC_TM_SER_TEST

#define TC_TM_SER_TEST   17

◆ TC_TM_SER_TMAG

#define TC_TM_SER_TMAG   9

◆ TC_TM_TYPE

#define TC_TM_TYPE

◆ TC_VERIFICATION_SERVICE

#define TC_VERIFICATION_SERVICE   1

◆ TM

◆ TURN_OFF

#define TURN_OFF   0

◆ TURN_ON

#define TURN_ON   1

◆ VER_NUMBER

#define VER_NUMBER