Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
tap::communication::serial::RefSerialData::Rx Class Reference

#include <ref_serial_data.hpp>

Classes

struct  AirSupportData
 
struct  ChassisData
 
struct  DamageEvent
 
struct  DartInfo
 
struct  DartStationInfo
 
struct  EventData
 
struct  GameData
 
struct  GroundRobotPositions
 
struct  RadarInfo
 
struct  RadarMarkProgress
 
struct  RefereeWarningData
 
struct  RobotBuffStatus
 
struct  RobotData
 
struct  RobotHpData
 
struct  RobotPosition
 
struct  SentryInfo
 
struct  SupplierAction
 
struct  TurretData
 

Public Types

enum class  GameType : uint8_t {
  UNKNOWN = 0 , ROBOMASTER_RMUC = 1 , ROBOMASTER_RMUTC = 2 , ROBOMASTER_AI_CHALLENGE = 3 ,
  ROBOMASTER_RMUL_3V3 = 4 , ROBOMASTER_RMUL_1V1 = 5
}
 The type of game the robot is competing in. More...
 
enum class  GameStage : uint8_t {
  PREMATCH = 0 , SETUP = 1 , INITIALIZATION = 2 , COUNTDOWN = 3 ,
  IN_GAME = 4 , END_GAME = 5
}
 
enum class  GameWinner : uint8_t { DRAW = 0 , RED = 1 , BLUE = 2 }
 
enum class  SiteDartHit : uint8_t {
  NONE = 0 , OUTPOST = 1 , BASE_FIXED = 2 , BASE_RANDOM_FIXED = 3 ,
  BASE_RANDOM_MOVING = 4
}
 
enum class  SupplierOutletStatus : uint8_t { CLOSED = 0 , PREPARING = 1 , RELEASING = 2 }
 
enum class  DartTarget : uint8_t { NONE_OR_OUTPOST = 0 , BASE_FIXED = 1 , BASE_RANDOM = 2 }
 
enum class  ArmorId : uint8_t {
  FRONT = 0 , LEFT = 1 , REAR = 2 , RIGHT = 3 ,
  TOP = 4
}
 
enum class  DamageType : uint8_t {
  ARMOR_DAMAGE = 0 , MODULE_OFFLINE = 1 , BARREL_OVER_SPEED = 2 , BARREL_OVERHEAT = 3 ,
  CHASSIS_POWER_OVERRUN = 4 , COLLISION = 5
}
 
enum class  SiteData : uint32_t {
  RESUPPLY_OUTSIDE_EXCHANGE_OCCUPIED = modm::Bit0 , RESUPPLY_INSIDE_EXCHANGE_OCCUPIED = modm::Bit1 , SUPPLIER_OCCUPIED = modm::Bit2 , SMALL_POWER_RUNE_ACTIVATED = modm::Bit3 ,
  LARGER_POWER_RUNE_ACTIVIATED = modm::Bit4 , CENTRAL_ELEVATED_GROUND_OCCUPIED_TEAM = modm::Bit5 , CENTRAL_ELEVATED_GROUND_OCCUPIED_OPPONENT = modm::Bit6 , TRAPEZOID_OCCUPIED_TEAM = modm::Bit7 ,
  CENTRAL_BUFF_OCCUPIED_TEAM = modm::Bit21 , CENTRAL_BUFF_OCCUPIED_OPPONENT = modm::Bit22
}
 
enum class  RobotPower : uint8_t { GIMBAL_HAS_POWER = modm::Bit0 , CHASSIS_HAS_POWER = modm::Bit1 , SHOOTER_HAS_POWER = modm::Bit2 }
 
enum class  RobotEnergyLevel : uint8_t {
  ABOVE_50_PERCENT = 0x32 , ABOVE_30_PERCENT = 0b11110 , ABOVE_15_PERCENT = 0b11100 , ABOVE_5_PERCENT = 0b11000 ,
  ABOVE_1_PERCENT = 0b10000 , BELOW_1_PERCENT = 0b00000
}
 
enum class  RFIDActivationStatus : uint32_t {
  BASE_BUFF = modm::Bit0 , CENTRAL_ELEVATED_GROUND_OWN = modm::Bit1 , CENTRAL_ELEVATED_GROUND_OPPONENT = modm::Bit2 , TRAPEZOID_OWN = modm::Bit3 ,
  TRAPEZOID_OPPONENT = modm::Bit4 , LAUNCH_RAMP_FRONT_OWN = modm::Bit5 , LAUNCH_RAMP_BACK_OWN = modm::Bit6 , LAUNCH_RAMP_FRONT_OPPONENT = modm::Bit7 ,
  LAUNCH_RAMP_BACK_OPPONENT = modm::Bit8 , TERRAIN_CROSSING_OFF_CENTRAL_OWN = modm::Bit9 , TERRAIN_CROSSING_ON_CENTRAL_OWN = modm::Bit10 , TERRAIN_CROSSING_OFF_CENTRAL_OPPONENT = modm::Bit11 ,
  TERRAIN_CROSSING_ON_CENTRAL_OPPONENT = modm::Bit12 , TERRAIN_CROSSING_OFF_ROAD_OWN = modm::Bit13 , TERRAIN_CROSSING_ON_ROAD_OWN = modm::Bit14 , TERRAIN_CROSSING_OFF_ROAD_OPPONENT = modm::Bit15 ,
  TERRAIN_CROSSING_ON_ROAD_OPPONENT = modm::Bit16 , FORTRESS_BUFF_OWN = modm::Bit17 , OUTPOST_BUFF_OWN = modm::Bit18 , RESUPPLY_ZONE_OUTSIDE_EXCHANGE = modm::Bit19 ,
  RESUPPLY_ZONE_INSIDE_EXCHANGE = modm::Bit20 , LARGE_RESOURCE_ISLAND_OWN = modm::Bit21 , LARGE_RESOURCE_ISLAND_OPPONENT = modm::Bit22 , CENTRAL_BUFF = modm::Bit23
}
 Activation status flags for the RFID module (for RMUC only). More...
 
enum  BulletType { AMMO_17 = 1 , AMMO_42 = 2 }
 
enum  MechanismID { TURRET_17MM_1 = 1 , TURRET_17MM_2 = 2 , TURRET_42MM = 3 }
 
enum  AirSupportState : uint8_t { COOLING = 0 , COOLED = 1 , IN_AIR = 2 }
 
enum  DartStationState : uint8_t { OPEN = 0 , CLOSED = 1 , TRANSITION = 2 }
 

Public Member Functions

 MODM_FLAGS32 (SiteData)
 
 MODM_FLAGS8 (RobotPower)
 
 MODM_FLAGS32 (RFIDActivationStatus)
 

Static Public Attributes

static constexpr int MAX_LAUNCH_SPEED_17MM = 25
 
static constexpr int MAX_LAUNCH_SPEED_42MM = 16
 

Detailed Description

Contains enum and struct definitions specific to receiving data from the referee serial class.

Member Enumeration Documentation

◆ AirSupportState

Enumerator
COOLING 

The air support is cooling down.

COOLED 

The air support has cooled down.

IN_AIR 

The air support is in the air.

◆ ArmorId

Enumerator
FRONT 

armor #0 (front).

LEFT 

armor #1 (left).

REAR 

armor #2 (rear).

RIGHT 

armor #3 (right).

TOP 

armor #4 (top).

◆ BulletType

Enumerator
AMMO_17 

17 mm projectile ammo.

AMMO_42 

42 mm projectile ammo.

◆ DamageType

Enumerator
ARMOR_DAMAGE 

Armor damage.

MODULE_OFFLINE 

Module offline.

BARREL_OVER_SPEED 

Firing speed too high.

BARREL_OVERHEAT 

Barrel overheat.

CHASSIS_POWER_OVERRUN 

Chassis power overrun.

COLLISION 

Armor plate collision.

◆ DartStationState

Enumerator
OPEN 

The dart station is open.

CLOSED 

The dart station is closed.

TRANSITION 

The dart station is opening or closing.

◆ DartTarget

Enumerator
NONE_OR_OUTPOST 

No target or outpost selected.

BASE_FIXED 

A fixed target selected.

BASE_RANDOM 

A random target selected.

◆ GameStage

Enumerator
PREMATCH 

Pre-competition. stage.

SETUP 

Setup stage.

INITIALIZATION 

Initialization stage.

COUNTDOWN 

5-second countdown.

IN_GAME 

In middle of the game.

END_GAME 

Calculating competition results.

◆ GameType

The type of game the robot is competing in.

Enumerator
UNKNOWN 

Unknown competition type (most likely disconnected from server).

ROBOMASTER_RMUC 

RoboMaster Univeristy Challenge.

ROBOMASTER_RMUTC 

RoboMaster Technical Challenge.

ROBOMASTER_AI_CHALLENGE 

RobomMaster AI challenge.

ROBOMASTER_RMUL_3V3 

RoboMaster RMUL 3v3 competition.

ROBOMASTER_RMUL_1V1 

RoboMaster RMUL 1v1 competition.

◆ GameWinner

Enumerator
DRAW 

Match was a draw.

RED 

Red team won the match.

BLUE 

Blue team won the match.

◆ MechanismID

Barrel identifier associated with the projectile launch message (which is sent when a projectile has been launched).

Enumerator
TURRET_17MM_1 

17mm barrel ID 1

TURRET_17MM_2 

17mm barrel ID 2

TURRET_42MM 

42mm barrel

◆ RFIDActivationStatus

Activation status flags for the RFID module (for RMUC only).

Enumerator
BASE_BUFF 
CENTRAL_ELEVATED_GROUND_OWN 
CENTRAL_ELEVATED_GROUND_OPPONENT 
TRAPEZOID_OWN 
TRAPEZOID_OPPONENT 
LAUNCH_RAMP_FRONT_OWN 
LAUNCH_RAMP_BACK_OWN 
LAUNCH_RAMP_FRONT_OPPONENT 
LAUNCH_RAMP_BACK_OPPONENT 
TERRAIN_CROSSING_OFF_CENTRAL_OWN 
TERRAIN_CROSSING_ON_CENTRAL_OWN 
TERRAIN_CROSSING_OFF_CENTRAL_OPPONENT 
TERRAIN_CROSSING_ON_CENTRAL_OPPONENT 
TERRAIN_CROSSING_OFF_ROAD_OWN 
TERRAIN_CROSSING_ON_ROAD_OWN 
TERRAIN_CROSSING_OFF_ROAD_OPPONENT 
TERRAIN_CROSSING_ON_ROAD_OPPONENT 
FORTRESS_BUFF_OWN 
OUTPOST_BUFF_OWN 
RESUPPLY_ZONE_OUTSIDE_EXCHANGE 
RESUPPLY_ZONE_INSIDE_EXCHANGE 
LARGE_RESOURCE_ISLAND_OWN 
LARGE_RESOURCE_ISLAND_OPPONENT 
CENTRAL_BUFF 

◆ RobotEnergyLevel

Enumerator
ABOVE_50_PERCENT 
ABOVE_30_PERCENT 
ABOVE_15_PERCENT 
ABOVE_5_PERCENT 
ABOVE_1_PERCENT 
BELOW_1_PERCENT 

◆ RobotPower

Enumerator
GIMBAL_HAS_POWER 

1 if there is 24V output to gimbal, 0 for 0V.

CHASSIS_HAS_POWER 

1 if there is 24V output to chassis, 0 for 0V.

SHOOTER_HAS_POWER 

1 if there is 24V output to shooter, 0 for 0V.

◆ SiteDartHit

Enumerator
NONE 

No hit target.

OUTPOST 

Outpost hit.

BASE_FIXED 

Fixed target hit.

BASE_RANDOM_FIXED 

Fixed target hit after random movement.

BASE_RANDOM_MOVING 

Random moving target hit.

◆ SiteData

Enumerator
RESUPPLY_OUTSIDE_EXCHANGE_OCCUPIED 
RESUPPLY_INSIDE_EXCHANGE_OCCUPIED 
SUPPLIER_OCCUPIED 
SMALL_POWER_RUNE_ACTIVATED 
LARGER_POWER_RUNE_ACTIVIATED 
CENTRAL_ELEVATED_GROUND_OCCUPIED_TEAM 
CENTRAL_ELEVATED_GROUND_OCCUPIED_OPPONENT 
TRAPEZOID_OCCUPIED_TEAM 
CENTRAL_BUFF_OCCUPIED_TEAM 
CENTRAL_BUFF_OCCUPIED_OPPONENT 

◆ SupplierOutletStatus

Enumerator
CLOSED 

The outlet is closed.

PREPARING 

The outlet is preparing projectiles.

RELEASING 

The outlet is releasing projectiles.

Member Function Documentation

◆ MODM_FLAGS32() [1/2]

tap::communication::serial::RefSerialData::Rx::MODM_FLAGS32 ( RFIDActivationStatus  )

◆ MODM_FLAGS32() [2/2]

tap::communication::serial::RefSerialData::Rx::MODM_FLAGS32 ( SiteData  )

◆ MODM_FLAGS8()

tap::communication::serial::RefSerialData::Rx::MODM_FLAGS8 ( RobotPower  )

Member Data Documentation

◆ MAX_LAUNCH_SPEED_17MM

constexpr int tap::communication::serial::RefSerialData::Rx::MAX_LAUNCH_SPEED_17MM = 25
staticconstexpr

The Maximum launch speed for a 17mm barrel in m/s.

◆ MAX_LAUNCH_SPEED_42MM

constexpr int tap::communication::serial::RefSerialData::Rx::MAX_LAUNCH_SPEED_42MM = 16
staticconstexpr

The Maximum launch speed for a 42mm barrel in m/s.


The documentation for this class was generated from the following file: