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 // Return 1 if robot is in red team, 0 if blue.
29 uint8_t is_red_or_blue();
30
31 // Return robot ID.
32 uint8_t get_robot_id();
33
34 // Return robot remaining HP.
35 uint16_t get_remain_hp();
36
37 // Return game progress
38 uint8_t get_game_progress();
39
40
43 bool is_spinning = false;
44 bool is_flywheel_on = false;
45 bool is_cv_on = false;
46 bool is_aligned = false;
47private:
48 BufferedSerial ref;
49 Mutex mutex_write_;
50 Mutex mutex_read_;
51 Thread readThread_;
52 Thread writeThread_;
53 bool enablePrintRefData = 0;
54
55 uint8_t JudgeSystem_rxBuff_priv[JUDGESYSTEM_PACKSIZE];
56 uint8_t JudgeSystem_rxBuff[JUDGESYSTEM_PACKSIZE]; //接收buff
57 uint8_t Judge_Self_ID; //当前机器人ID
58 uint16_t Judge_SelfClient_ID; //发送者机器人对应的客户端ID
59
60
64 int JudgeSystem_USART_Receive_DMA();
65 void Judge_GetMessage(uint16_t Data_Length);
66 void Judge_sendPC();
67 void RobotStatus_LEDYellow();
68
69 // ------------------------------
70 // Extra stuff
71
72 game_status_t game_status;
73 game_result_t game_result;
74 ext_game_robot_HP_t ext_game_robot_HP;
75 ext_dart_status_t ext_dart_status;
76 ext_ICRA_buff_debuff_zone_status_t ext_ICRA_buff_debuff_zone_status;
77 ext_event_data_t ext_even_data;
78 ext_supply_projectile_action_t ext_supply_projectile_action;
79 referee_warning_t referee_warning;
80 ext_dart_remaining_time_t ext_dart_remaining_time;
81 robot_pos_t robot_pos;
82 ext_buff_t Buff;
83 buff_t buff;
84 aerial_robot_energy_t aerial_robot_energy;
85 hurt_data_t hurt_data;
86 shoot_data_t shoot_data;
87 projectile_allowance_t projectile_allowance;
88 ext_rfid_status_t ext_rfid_status;
89 ext_dart_client_cmd_t ext_dart_client_cmd;
90
91 uint8_t Robot_Commute[26];
92
93 uint8_t seq=0;
94 unsigned char CliendTxBuffer[send_max_len];
95
102 void referee_data_pack_handle(uint8_t sof,uint16_t cmd_id, uint8_t *p_data, uint16_t len);
103 void referee_data_pack_handle(uint8_t *packet, uint16_t len);
104
105 void determine_ID();
106
107 void init_referee_struct_data();
108};
109
110#endif
Definition ref_serial.h:12
bool is_aligned
Definition ref_serial.h:46
bool is_cv_on
Definition ref_serial.h:45
uint8_t get_robot_id()
Definition ref_serial.cpp:680
void refereeThread()
void readThread()
Definition ref_serial.cpp:572
robot_status_t robot_status
Definition ref_serial.h:41
uint8_t get_game_progress()
Definition ref_serial.cpp:692
bool is_flywheel_on
Definition ref_serial.h:44
bool is_spinning
Definition ref_serial.h:43
power_heat_data_t power_heat_data
Definition ref_serial.h:42
uint16_t get_remain_hp()
Definition ref_serial.cpp:686
uint8_t is_red_or_blue()
判断自己红蓝方
Definition ref_serial.cpp:704
bool readable()
Definition ref_serial.cpp:536
void writeThread()
Definition ref_serial.cpp:609
void read()
Definition ref_serial.cpp:542
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