TR-mbed 1.0
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
ref_serial.h File Reference
#include "mbed.h"
#include "crc.h"

Go to the source code of this file.

Classes

class  Referee
 
struct  xFrameHeader
 
struct  ext_map_command_t
 
struct  ext_game_robot_HP_t
 
struct  ext_dart_status_t
 
struct  ext_ICRA_buff_debuff_zone_status_t
 
struct  ext_event_data_t
 
struct  ext_supply_projectile_action_t
 
struct  ext_dart_remaining_time_t
 
struct  ext_game_robot_status_t
 
struct  ext_buff_t
 
struct  aerial_robot_energy_t
 
struct  ext_rfid_status_t
 
struct  ext_dart_client_cmd_t
 
struct  __packed
 

Macros

#define LEN_HEADER   5/*frame_header*/
 
#define LEN_CMDID   2/*cmd_id*/
 
#define LEN_TAIL   2/*frame_tail*/
 
#define JUDGE_FRAME_HEADER   0xA5
 
#define JUDGESYSTEM_PACKSIZE   389u
 
#define BLUE   0
 
#define RED   1
 
#define TRUE   1
 
#define FALSE   0
 
#define Judge_Game_StatusData   0x0001
 
#define Judge_Game_ResultData   0x0002
 
#define Judge_Robot_HP   0x0003
 
#define Judge_Dart_Launch   0x0004
 
#define Judge_AI_ChallengeBuff   0x0005
 
#define Judge_Event_Data   0x0101
 
#define Judge_Supply_Station   0x0102
 
#define Judge_Referee_Warning   0x0104
 
#define Judge_Dart_Countdown   0x0105
 
#define Judge_Robot_State   0x0201
 
#define Judge_Power_Heat   0x0202
 
#define Judge_Robot_Position   0x0203
 
#define Judge_Robot_Buff   0x0204
 
#define Judge_Aerial_Energy   0x0205
 
#define Judge_Injury_State   0x0206
 
#define Judge_RealTime_Shoot   0x0207
 
#define Judge_Remaining_Rounds   0x0208
 
#define Judge_Robot_RFID   0x0209
 
#define Judge_Dart_Client   0x020A
 
#define Judge_Robot_Communicate   0x0301
 
#define Judge_User_Defined   0x0302
 
#define Judge_Map_Interaction   0x0303
 
#define Judge_KeyMouse_Message   0x0304
 
#define Judge_Client_Map   0x0305
 
#define JUDGE_EXTRA   9
 
#define JudgeLength_Game_StatusData   20
 
#define JudgeLength_Game_ResultData   10
 
#define JudgeLength_Robot_HP   41
 
#define JudgeLength_Dart_Launch   12
 
#define JudgeLength_AI_ChallengeBuff   20
 
#define JudgeLength_Event_Data   13
 
#define JudgeLength_Supply_Station   12
 
#define JudgeLength_Referee_Warning   12
 
#define JudgeLength_Dart_Countdown   12
 
#define JudgeLength_Robot_State   22
 
#define JudgeLength_Power_Heat   25
 
#define JudgeLength_Robot_Position   25
 
#define JudgeLength_Robot_Buff   15
 
#define JudgeLength_Aerial_Energy   11
 
#define JudgeLength_Injury_State   10
 
#define JudgeLength_RealTime_Shoot   16
 
#define JudgeLength_Remaining_Rounds   15
 
#define JudgeLength_Robot_RFID   13
 
#define JudgeLength_Dart_Client   21
 
#define JudgeLength_Robot_Commute   35
 
#define JudgeLength_Robot_Map   26
 

Typedefs

struct { 
 
   uint8_t   game_type: 4 
 
   uint8_t   game_progress: 4 
 
   uint16_t   stage_remain_time 
 
   uint64_t   SyncTimeStamp 
 
   uint8_t   infoUpdateFlag 
 
game_status_t 
 
struct { 
 
   uint8_t   winner 
 
   uint8_t   InfoUpdataFlag 
 
game_result_t 
 
struct { 
 
   uint8_t   level 
 
   uint8_t   offending_robot_id 
 
   uint8_t   count 
 
   uint8_t   InfoUpdataFlag 
 
referee_warning_t 
 
struct { 
 
   uint8_t   robot_id 
 
   uint8_t   robot_level 
 
   uint16_t   current_HP 
 
   uint16_t   maximum_HP 
 
   uint16_t   shooter_barrel_cooling_value 
 
   uint16_t   shooter_barrel_heat_limit 
 
   uint16_t   chassis_power_limit 
 
   uint8_t   power_management_output 
 
   uint8_t   InfoUpdataFlag 
 
robot_status_t 
 
struct { 
 
   uint16_t   reserved1 
 
   uint16_t   reserved2 
 
   float   reserved3 
 
   uint16_t   buffer_energy 
 
   uint16_t   shooter_17mm_1_barrel_heat 
 
   uint16_t   shooter_17mm_2_barrel_heat 
 
   uint16_t   shooter_42mm_barrel_heat 
 
   uint8_t   InfoUpdataFlag 
 
power_heat_data_t 
 
struct { 
 
   float   x 
 
   float   y 
 
   float   angle 
 
   uint8_t   InfoUpdataFlag 
 
robot_pos_t 
 
struct { 
 
   uint8_t   recovery_buff 
 
   uint8_t   cooling_buff 
 
   uint8_t   defence_buff 
 
   uint8_t   vulnerability_buff 
 
   uint16_t   attack_buff 
 
buff_t 
 
struct { 
 
   uint8_t   armor_id: 4 
 
   uint8_t   HP_deduction_reason: 4 
 
   uint8_t   InfoUpdataFlag 
 
hurt_data_t 
 
struct { 
 
   uint8_t   bullet_type 
 
   uint8_t   shooter_number 
 
   uint8_t   launching_frequency 
 
   float   initial_speed 
 
   uint8_t   InfoUpdataFlag 
 
shoot_data_t 
 
struct { 
 
   uint16_t   projectile_allowance_17mm 
 
   uint16_t   projectile_allowance_42mm 
 
   uint16_t   remaining_gold_coin 
 
   uint8_t   InfoUpdataFlag 
 
projectile_allowance_t 
 
typedef struct __packed ext_student_interactive_header_data_t
 
typedef struct __packed robot_interactive_data_t
 
typedef struct __packed ext_client_custom_graphic_delete_t
 
typedef struct __packed ext_student_interactive_header_data_delete_t
 
typedef struct __packed graphic_data_struct_t
 
typedef struct __packed ClientData_struct_t
 
typedef struct __packed ext_client_custom_graphic_single_t
 
typedef struct __packed ext_client_custom_graphic_double_t
 
typedef struct __packed ext_client_custom_graphic_five_t
 
typedef struct __packed ext_client_custom_graphic_seven_t
 
typedef struct __packed ext_client_custom_character_t
 
typedef struct __packed ext_student_interactive_header_data_graphic_t
 
typedef struct __packed ext_student_interactive_header_data_character_t
 
typedef struct __packed ext_student_interactive_header_data_robot_comm_t
 

Functions

int JudgeSystem_USART_Receive_DMA (BufferedSerial *b)
 Receive data from the referee system serial port.
 
void Judge_GetMessage (uint16_t Data_Length)
 
void Judge_sendPC (BufferedSerial *b)
 
void RobotStatus_LEDYellow (BufferedSerial *b)
 
_Bool is_red_or_blue (void)
 
uint8_t get_robot_id (void)
 
uint8_t get_remain_hp (void)
 
void referee_data_pack_handle (uint8_t sof, uint16_t cmd_id, uint8_t *p_data, uint16_t len, BufferedSerial *b)
 Send data to the referee system serial port.
 

Variables

game_status_t game_status
 
game_result_t game_result
 
ext_game_robot_HP_t ext_game_robot_HP
 
ext_dart_status_t ext_dart_status
 
ext_ICRA_buff_debuff_zone_status_t ext_ICRA_buff_debuff_zone_status
 
ext_event_data_t ext_even_data
 
ext_supply_projectile_action_t ext_supply_projectile_action
 
referee_warning_t referee_warning
 
ext_dart_remaining_time_t ext_dart_remaining_time
 
robot_status_t robot_status
 
power_heat_data_t power_heat_data
 
robot_pos_t robot_pos
 
ext_buff_t Buff
 
buff_t buff
 
aerial_robot_energy_t aerial_robot_energy
 
hurt_data_t hurt_data
 
shoot_data_t shoot_data
 
projectile_allowance_t projectile_allowance
 
ext_rfid_status_t ext_rfid_status
 
ext_dart_client_cmd_t ext_dart_client_cmd
 

Macro Definition Documentation

◆ BLUE

#define BLUE   0

◆ FALSE

#define FALSE   0

◆ Judge_Aerial_Energy

#define Judge_Aerial_Energy   0x0205

◆ Judge_AI_ChallengeBuff

#define Judge_AI_ChallengeBuff   0x0005

◆ Judge_Client_Map

#define Judge_Client_Map   0x0305

◆ Judge_Dart_Client

#define Judge_Dart_Client   0x020A

◆ Judge_Dart_Countdown

#define Judge_Dart_Countdown   0x0105

◆ Judge_Dart_Launch

#define Judge_Dart_Launch   0x0004

◆ Judge_Event_Data

#define Judge_Event_Data   0x0101

◆ JUDGE_EXTRA

#define JUDGE_EXTRA   9

◆ JUDGE_FRAME_HEADER

#define JUDGE_FRAME_HEADER   0xA5

◆ Judge_Game_ResultData

#define Judge_Game_ResultData   0x0002

◆ Judge_Game_StatusData

#define Judge_Game_StatusData   0x0001

◆ Judge_Injury_State

#define Judge_Injury_State   0x0206

◆ Judge_KeyMouse_Message

#define Judge_KeyMouse_Message   0x0304

◆ Judge_Map_Interaction

#define Judge_Map_Interaction   0x0303

◆ Judge_Power_Heat

#define Judge_Power_Heat   0x0202

◆ Judge_RealTime_Shoot

#define Judge_RealTime_Shoot   0x0207

◆ Judge_Referee_Warning

#define Judge_Referee_Warning   0x0104

◆ Judge_Remaining_Rounds

#define Judge_Remaining_Rounds   0x0208

◆ Judge_Robot_Buff

#define Judge_Robot_Buff   0x0204

◆ Judge_Robot_Communicate

#define Judge_Robot_Communicate   0x0301

◆ Judge_Robot_HP

#define Judge_Robot_HP   0x0003

◆ Judge_Robot_Position

#define Judge_Robot_Position   0x0203

◆ Judge_Robot_RFID

#define Judge_Robot_RFID   0x0209

◆ Judge_Robot_State

#define Judge_Robot_State   0x0201

◆ Judge_Supply_Station

#define Judge_Supply_Station   0x0102

◆ Judge_User_Defined

#define Judge_User_Defined   0x0302

◆ JudgeLength_Aerial_Energy

#define JudgeLength_Aerial_Energy   11

◆ JudgeLength_AI_ChallengeBuff

#define JudgeLength_AI_ChallengeBuff   20

◆ JudgeLength_Dart_Client

#define JudgeLength_Dart_Client   21

◆ JudgeLength_Dart_Countdown

#define JudgeLength_Dart_Countdown   12

◆ JudgeLength_Dart_Launch

#define JudgeLength_Dart_Launch   12

◆ JudgeLength_Event_Data

#define JudgeLength_Event_Data   13

◆ JudgeLength_Game_ResultData

#define JudgeLength_Game_ResultData   10

◆ JudgeLength_Game_StatusData

#define JudgeLength_Game_StatusData   20

◆ JudgeLength_Injury_State

#define JudgeLength_Injury_State   10

◆ JudgeLength_Power_Heat

#define JudgeLength_Power_Heat   25

◆ JudgeLength_RealTime_Shoot

#define JudgeLength_RealTime_Shoot   16

◆ JudgeLength_Referee_Warning

#define JudgeLength_Referee_Warning   12

◆ JudgeLength_Remaining_Rounds

#define JudgeLength_Remaining_Rounds   15

◆ JudgeLength_Robot_Buff

#define JudgeLength_Robot_Buff   15

◆ JudgeLength_Robot_Commute

#define JudgeLength_Robot_Commute   35

◆ JudgeLength_Robot_HP

#define JudgeLength_Robot_HP   41

◆ JudgeLength_Robot_Map

#define JudgeLength_Robot_Map   26

◆ JudgeLength_Robot_Position

#define JudgeLength_Robot_Position   25

◆ JudgeLength_Robot_RFID

#define JudgeLength_Robot_RFID   13

◆ JudgeLength_Robot_State

#define JudgeLength_Robot_State   22

◆ JudgeLength_Supply_Station

#define JudgeLength_Supply_Station   12

◆ JUDGESYSTEM_PACKSIZE

#define JUDGESYSTEM_PACKSIZE   389u

◆ LEN_CMDID

#define LEN_CMDID   2/*cmd_id*/

◆ LEN_HEADER

#define LEN_HEADER   5/*frame_header*/

◆ LEN_TAIL

#define LEN_TAIL   2/*frame_tail*/

◆ RED

#define RED   1

◆ TRUE

#define TRUE   1

Typedef Documentation

◆ [struct]

typedef __packed struct { ... } buff_t

◆ ClientData_struct_t

typedef struct __packed ClientData_struct_t

◆ ext_client_custom_character_t

◆ ext_client_custom_graphic_delete_t

◆ ext_client_custom_graphic_double_t

◆ ext_client_custom_graphic_five_t

◆ ext_client_custom_graphic_seven_t

◆ ext_client_custom_graphic_single_t

◆ ext_student_interactive_header_data_character_t

◆ ext_student_interactive_header_data_delete_t

◆ ext_student_interactive_header_data_graphic_t

◆ ext_student_interactive_header_data_robot_comm_t

◆ ext_student_interactive_header_data_t

◆ [struct]

typedef __packed struct { ... } game_result_t

◆ [struct]

typedef __packed struct { ... } game_status_t

◆ graphic_data_struct_t

◆ [struct]

typedef __packed struct { ... } hurt_data_t

◆ [struct]

typedef __packed struct { ... } power_heat_data_t

◆ [struct]

typedef __packed struct { ... } projectile_allowance_t

◆ [struct]

typedef __packed struct { ... } referee_warning_t

◆ robot_interactive_data_t

◆ [struct]

typedef __packed struct { ... } robot_pos_t

◆ [struct]

typedef __packed struct { ... } robot_status_t

◆ [struct]

typedef __packed struct { ... } shoot_data_t

Function Documentation

◆ get_remain_hp()

uint8_t get_remain_hp ( void  )

◆ get_robot_id()

uint8_t get_robot_id ( void  )

◆ is_red_or_blue()

_Bool is_red_or_blue ( void  )

◆ Judge_GetMessage()

void Judge_GetMessage ( uint16_t  Data_Length)

◆ Judge_sendPC()

void Judge_sendPC ( BufferedSerial *  b)

◆ JudgeSystem_USART_Receive_DMA()

int JudgeSystem_USART_Receive_DMA ( BufferedSerial *  b)

Receive data from the referee system serial port.

Parameters
bSerial object

◆ referee_data_pack_handle()

void referee_data_pack_handle ( uint8_t  sof,
uint16_t  cmd_id,
uint8_t *  p_data,
uint16_t  len,
BufferedSerial *  b 
)

Send data to the referee system serial port.

Parameters
sofSOF (0xA5)
cmd_idCommand ID
p_dataPointer to data
lenLength
bSerial object

◆ RobotStatus_LEDYellow()

void RobotStatus_LEDYellow ( BufferedSerial *  b)

Variable Documentation

◆ aerial_robot_energy

aerial_robot_energy_t aerial_robot_energy
extern

◆ angle

float angle

◆ armor_id

uint8_t armor_id

◆ attack_buff

uint16_t attack_buff

◆ Buff

ext_buff_t Buff
extern

◆ buff

buff_t buff
extern

◆ buffer_energy

uint16_t buffer_energy

◆ bullet_type

uint8_t bullet_type

◆ chassis_power_limit

uint16_t chassis_power_limit

◆ cooling_buff

uint8_t cooling_buff

◆ count

uint8_t count

◆ current_HP

uint16_t current_HP

◆ defence_buff

uint8_t defence_buff

◆ ext_dart_client_cmd

ext_dart_client_cmd_t ext_dart_client_cmd
extern

◆ ext_dart_remaining_time

ext_dart_remaining_time_t ext_dart_remaining_time
extern

◆ ext_dart_status

ext_dart_status_t ext_dart_status
extern

◆ ext_even_data

ext_event_data_t ext_even_data
extern

◆ ext_game_robot_HP

ext_game_robot_HP_t ext_game_robot_HP
extern

◆ ext_ICRA_buff_debuff_zone_status

ext_ICRA_buff_debuff_zone_status_t ext_ICRA_buff_debuff_zone_status
extern

◆ ext_rfid_status

ext_rfid_status_t ext_rfid_status
extern

◆ ext_supply_projectile_action

ext_supply_projectile_action_t ext_supply_projectile_action
extern

◆ game_progress

uint8_t game_progress

◆ game_result

game_result_t game_result
extern

◆ game_status

game_status_t game_status
extern

◆ game_type

uint8_t game_type

◆ HP_deduction_reason

uint8_t HP_deduction_reason

◆ hurt_data

hurt_data_t hurt_data
extern

◆ InfoUpdataFlag

uint8_t InfoUpdataFlag

◆ infoUpdateFlag

uint8_t infoUpdateFlag

◆ initial_speed

float initial_speed

◆ launching_frequency

uint8_t launching_frequency

◆ level

uint8_t level

◆ maximum_HP

uint16_t maximum_HP

◆ offending_robot_id

uint8_t offending_robot_id

◆ power_heat_data

power_heat_data_t power_heat_data
extern

◆ power_management_output

uint8_t power_management_output

◆ projectile_allowance

projectile_allowance_t projectile_allowance
extern

◆ projectile_allowance_17mm

uint16_t projectile_allowance_17mm

◆ projectile_allowance_42mm

uint16_t projectile_allowance_42mm

◆ recovery_buff

uint8_t recovery_buff

◆ referee_warning

referee_warning_t referee_warning
extern

◆ remaining_gold_coin

uint16_t remaining_gold_coin

◆ reserved1

uint16_t reserved1

◆ reserved2

uint16_t reserved2

◆ reserved3

float reserved3

◆ robot_id

uint8_t robot_id

◆ robot_level

uint8_t robot_level

◆ robot_pos

robot_pos_t robot_pos
extern

◆ robot_status

robot_status_t robot_status
extern

◆ shoot_data

shoot_data_t shoot_data
extern

◆ shooter_17mm_1_barrel_heat

uint16_t shooter_17mm_1_barrel_heat

◆ shooter_17mm_2_barrel_heat

uint16_t shooter_17mm_2_barrel_heat

◆ shooter_42mm_barrel_heat

uint16_t shooter_42mm_barrel_heat

◆ shooter_barrel_cooling_value

uint16_t shooter_barrel_cooling_value

◆ shooter_barrel_heat_limit

uint16_t shooter_barrel_heat_limit

◆ shooter_number

uint8_t shooter_number

◆ stage_remain_time

uint16_t stage_remain_time

◆ SyncTimeStamp

uint64_t SyncTimeStamp

◆ vulnerability_buff

uint8_t vulnerability_buff

◆ winner

uint8_t winner

◆ x

float x

◆ y

float y