#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "mfcc_sample_app.h"

int8_t mfcc_thruster_tc_hdlr(uint32_t tc_id,uint8_t** tc_data,uint16_t* tc_len);
int8_t mfcc_thruster_tm_hdlr(uint32_t tm_id,uint8_t* tm_data,uint16_t tm_len);

typedef struct
{
    uint8_t thruster_id;
    uint8_t mode;
}__attribute__((__packed__))s_thr_mode;

typedef struct 
{
    uint8_t thruster_id;
    uint32_t firing_duration;  // in seconds
}__attribute__((__packed__))s_thr_firing_duration;

typedef struct 
{
    uint8_t thruster_id;
    uint32_t propellant_remain_lvl;
}__attribute__((__packed__))s_thr_propellant_remining;

typedef struct
{
    uint8_t thruster_id;
    float temperature;   // in celsius
}__attribute__((__packed__))s_thr_onbrd_temp;

typedef struct
{
    uint8_t thruster_id;
    float voltage;
    float current;
}__attribute__((__packed__))thruster_power_consumption;

typedef struct
{
    uint8_t thruster_id;
    float min_rad_temp;
    float max_rad_temp;
} __attribute__((__packed__))thruster_radiator_temperature_limit;

typedef struct
{
    uint8_t thruster_id;
    float min_tank_prs;
    float max_tank_prs;
} __attribute__((__packed__))thruster_tank_presure_limit;

