TR-mbed 1.0
Loading...
Searching...
No Matches
ref_serial.h
Go to the documentation of this file.
1#ifndef _REFEREE_HPP
2#define _REFEREE_HPP
3
4#pragma once
5#include "mbed.h"
6#include <string>
8#include "crc.h"
9#include "ref_constants.h"
10
11
12class Referee: public StmIO {
13public:
14 Referee(PinName pin_tx, PinName pin_rx);
15
16 //BufferedSerial getRef();
17 bool readable();
18
19 // Old referee thread code
21
22 void readThread();
23
24 void writeThread();
25
26 void read();
27
28 // TODO: figure out how to write ui or interobot comms
29 void write();
30
31 // Return 1 if robot is in red team, 0 if blue.
32 bool is_red_or_blue();
33
34 // Return robot ID.
35 uint8_t get_robot_id();
36
37 // Return robot remaining HP.
38 uint8_t get_remain_hp();
39
40 // Return game progress
41 uint8_t get_game_progress();
42
43
46private:
47 BufferedSerial ref;
48 Mutex mutex_write_;
49 Mutex mutex_read_;
50 Thread readThread_;
51 Thread writeThread_;
52 bool enablePrintRefData = 0;
53
54 uint8_t JudgeSystem_rxBuff_priv[JUDGESYSTEM_PACKSIZE];
55 uint8_t JudgeSystem_rxBuff[JUDGESYSTEM_PACKSIZE]; //接收buff
56 uint8_t Judge_Self_ID; //当前机器人ID
57 uint16_t Judge_SelfClient_ID; //发送者机器人对应的客户端ID
58
59
63 int JudgeSystem_USART_Receive_DMA();
64 void Judge_GetMessage(uint16_t Data_Length);
65 void Judge_sendPC();
66 void RobotStatus_LEDYellow();
67
68
69 // Draw text on the UI
70 void ui_graph_characters(int operation_type, string str, int x, int y, char name);
71
72 // Delete a layer of UI drawing
73 void ui_delete_layer(int layer);
74
75
76 // ------------------------------
77 // Extra stuff
78
79 game_status_t game_status;
80 game_result_t game_result;
81 ext_game_robot_HP_t ext_game_robot_HP;
82 ext_dart_status_t ext_dart_status;
83 ext_ICRA_buff_debuff_zone_status_t ext_ICRA_buff_debuff_zone_status;
84 ext_event_data_t ext_even_data;
85 ext_supply_projectile_action_t ext_supply_projectile_action;
86 referee_warning_t referee_warning;
87 ext_dart_remaining_time_t ext_dart_remaining_time;
88 robot_pos_t robot_pos;
89 ext_buff_t Buff;
90 buff_t buff;
91 aerial_robot_energy_t aerial_robot_energy;
92 hurt_data_t hurt_data;
93 shoot_data_t shoot_data;
94 projectile_allowance_t projectile_allowance;
95 ext_rfid_status_t ext_rfid_status;
96 ext_dart_client_cmd_t ext_dart_client_cmd;
97
98 uint8_t Robot_Commute[26];
99
100 uint8_t seq=0;
101 unsigned char CliendTxBuffer[send_max_len];
102
109 void referee_data_pack_handle(uint8_t sof,uint16_t cmd_id, uint8_t *p_data, uint16_t len);
110
111 void determine_ID();
112
113 void init_referee_struct_data();
114};
115
116#endif
Definition ref_serial.h:12
uint8_t get_robot_id()
Definition ref_operations.cpp:214
void refereeThread()
void readThread()
Definition ref_operations.cpp:166
void write()
Definition ref_operations.cpp:51
robot_status_t robot_status
Definition ref_serial.h:44
uint8_t get_game_progress()
Definition ref_operations.cpp:226
bool is_red_or_blue()
判断自己红蓝方
Definition ref_operations.cpp:238
power_heat_data_t power_heat_data
Definition ref_serial.h:45
uint8_t get_remain_hp()
Definition ref_operations.cpp:220
bool readable()
Definition ref_operations.cpp:14
void writeThread()
Definition ref_operations.cpp:203
void read()
Definition ref_operations.cpp:20
Definition StmIO.h:5
#define send_max_len
Definition ref_constants.h:15
#define JUDGESYSTEM_PACKSIZE
Definition ref_constants.h:31
Definition ref_constants.h:362
Definition ref_constants.h:352
Definition ref_constants.h:195
Definition ref_constants.h:336
Definition ref_constants.h:427
Definition ref_constants.h:264
Definition ref_constants.h:180
Definition ref_constants.h:224
Definition ref_constants.h:151
Definition ref_constants.h:413
Definition ref_constants.h:238
Definition ref_constants.h:144
Definition ref_constants.h:134
Definition ref_constants.h:376
Definition ref_constants.h:314
Definition ref_constants.h:394
Definition ref_constants.h:255
Definition ref_constants.h:327
Definition ref_constants.h:300
Definition ref_constants.h:384