Skip to content

Commit

Permalink
Merge pull request #9 from RoboTeamTwente/fix/nameClash
Browse files Browse the repository at this point in the history
Update the names of the new REM
  • Loading branch information
Florisheinen1 authored Mar 2, 2022
2 parents 5ebffad + 3662903 commit 7262225
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 67 deletions.
18 changes: 9 additions & 9 deletions Core/Inc/Utilities/packet_buffers.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,38 @@
#include <stdbool.h>
#include "basestation.h"

#include "BaseTypes.h"
#include "RobotCommand.h"
#include "RobotFeedback.h"
#include "RobotBuzzer.h"
#include "RobotStateInfo.h"
#include "REM_BaseTypes.h"
#include "REM_RobotCommand.h"
#include "REM_RobotFeedback.h"
#include "REM_RobotBuzzer.h"
#include "REM_RobotStateInfo.h"

bool isTransmitting;

struct _buffer_RobotCommand {
RobotCommandPayload packet;
REM_RobotCommandPayload packet;
bool isNewPacket;
uint32_t counter;
};
struct _buffer_RobotCommand buffer_RobotCommand[MAX_NUMBER_OF_ROBOTS];


struct _buffer_RobotFeedback {
RobotFeedbackPayload packet;
REM_RobotFeedbackPayload packet;
bool isNewPacket;
uint32_t counter;
};
struct _buffer_RobotFeedback buffer_RobotFeedback[MAX_NUMBER_OF_ROBOTS];

struct _buffer_RobotStateInfo {
RobotStateInfoPayload packet;
REM_RobotStateInfoPayload packet;
bool isNewPacket;
uint32_t counter;
};
struct _buffer_RobotStateInfo buffer_RobotStateInfo[MAX_NUMBER_OF_ROBOTS];

struct _buffer_RobotBuzzer {
RobotBuzzerPayload packet;
REM_RobotBuzzerPayload packet;
bool isNewPacket;
uint32_t counter;
};
Expand Down
2 changes: 1 addition & 1 deletion Core/Inc/roboteam_embedded_messages
Submodule roboteam_embedded_messages updated 53 files
+39 −11 generator/BaseTypeGenerator.py
+7 −4 generator/Generator.py
+1 −1 generator/latest_rem_version.txt
+2 −2 generator/main.py
+11 −11 generator/packets.py
+0 −102 include/BaseTypes.h
+0 −66 include/BasestationConfiguration.h
+0 −42 include/BasestationGetConfiguration.h
+0 −42 include/BasestationGetStatistics.h
+0 −42 include/BasestationLog.h
+0 −66 include/BasestationSetConfiguration.h
+0 −470 include/BasestationStatistics.h
+119 −0 include/REM_BaseTypes.h
+66 −0 include/REM_BasestationConfiguration.h
+42 −0 include/REM_BasestationGetConfiguration.h
+42 −0 include/REM_BasestationGetStatistics.h
+42 −0 include/REM_BasestationLog.h
+66 −0 include/REM_BasestationSetConfiguration.h
+470 −0 include/REM_BasestationStatistics.h
+106 −0 include/REM_RobotBuzzer.h
+238 −0 include/REM_RobotCommand.h
+233 −0 include/REM_RobotFeedback.h
+78 −0 include/REM_RobotLog.h
+222 −0 include/REM_RobotStateInfo.h
+0 −106 include/RobotBuzzer.h
+0 −238 include/RobotCommand.h
+0 −233 include/RobotFeedback.h
+0 −78 include/RobotLog.h
+0 −222 include/RobotStateInfo.h
+1 −1 proto/REM_BasestationConfiguration.proto
+1 −1 proto/REM_BasestationGetConfiguration.proto
+1 −1 proto/REM_BasestationGetStatistics.proto
+1 −1 proto/REM_BasestationLog.proto
+1 −1 proto/REM_BasestationSetConfiguration.proto
+1 −1 proto/REM_BasestationStatistics.proto
+1 −1 proto/REM_RobotBuzzer.proto
+1 −1 proto/REM_RobotCommand.proto
+1 −1 proto/REM_RobotFeedback.proto
+1 −1 proto/REM_RobotLog.proto
+1 −1 proto/REM_RobotStateInfo.proto
+0 −98 python/BaseTypes.py
+113 −0 python/REM_BaseTypes.py
+9 −9 python/REM_BasestationConfiguration.py
+5 −5 python/REM_BasestationGetConfiguration.py
+5 −5 python/REM_BasestationGetStatistics.py
+5 −5 python/REM_BasestationLog.py
+9 −9 python/REM_BasestationSetConfiguration.py
+71 −71 python/REM_BasestationStatistics.py
+15 −15 python/REM_RobotBuzzer.py
+35 −35 python/REM_RobotCommand.py
+35 −35 python/REM_RobotFeedback.py
+11 −11 python/REM_RobotLog.py
+27 −27 python/REM_RobotStateInfo.py
10 changes: 5 additions & 5 deletions Core/Src/FT812Q/FT812Q_Drawing.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

#include "FT812Q_Drawing.h"
#include "packet_buffers.h"
#include "RobotFeedback.h"
#include "REM_RobotFeedback.h"


/* DATA */
Expand Down Expand Up @@ -93,15 +93,15 @@ void drawBasestation(bool USBstatus){
}

uint32_t drawRobotInfo(uint8_t id, bool USBstatus){
RobotFeedbackPayload *rfp = &buffer_RobotFeedback[id].packet;
REM_RobotFeedbackPayload *rfp = &buffer_RobotFeedback[id].packet;

// /* CALCULATE DATA */
float angle = RobotFeedback_get_angle(rfp);
float angle = REM_RobotFeedback_get_angle(rfp);
char angle_char[5];
sprintf(angle_char, "%.2f", angle);

float theta = RobotFeedback_get_theta(rfp);
float rho = RobotFeedback_get_rho(rfp);
float theta = REM_RobotFeedback_get_theta(rfp);
float rho = REM_RobotFeedback_get_rho(rfp);

float x_vel = rho * cos(theta);
float y_vel = rho * sin(theta);
Expand Down
4 changes: 2 additions & 2 deletions Core/Src/TextOut/TextOut.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "usbd_cdc.h"
#include "usb_device.h"
#include "gpio_util.h"
#include "BaseTypes.h"
#include "REM_BaseTypes.h"

uint8_t TxBuffer[1024];
extern USBD_HandleTypeDef hUsbDeviceFS;
Expand All @@ -34,7 +34,7 @@ void LOG(char *message){
// Free up space for header + message
uint8_t* buffer = malloc(length);
// Set the header
buffer[0] = PACKET_TYPE_BASESTATION_LOG;
buffer[0] = PACKET_TYPE_REM_BASESTATION_LOG;
// Enforce newline
buffer[length] = '\n';
// Copy the message into the buffer, next to the header
Expand Down
1 change: 0 additions & 1 deletion Core/Src/Wireless/Wireless.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
*/

#include "basestation.h"
#include "BaseTypes.h"
#include "Wireless.h"
#include "SX1280_Constants.h"
#include "gpio_util.h"
Expand Down
96 changes: 48 additions & 48 deletions Core/Src/basestation.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
#include "packet_buffers.h"
#include "FT812Q_Drawing.h"

#include "BaseTypes.h"
#include "BasestationStatistics.h"
#include "BasestationConfiguration.h"
#include "BasestationSetConfiguration.h"
#include "RobotCommand.h"
#include "RobotFeedback.h"
#include "RobotStateInfo.h"
#include "REM_BaseTypes.h"
#include "REM_BasestationStatistics.h"
#include "REM_BasestationConfiguration.h"
#include "REM_BasestationSetConfiguration.h"
#include "REM_RobotCommand.h"
#include "REM_RobotFeedback.h"
#include "REM_RobotStateInfo.h"

/* Counters, tracking the number of packets handled */
volatile int handled_RobotCommand = 0;
Expand Down Expand Up @@ -102,7 +102,7 @@ void loop(){
/* Send any new RobotFeedback packets */
for(int id = 0; id <= MAX_ROBOT_ID; id++){
if(buffer_RobotFeedback[id].isNewPacket){
HexOut(buffer_RobotFeedback[id].packet.payload, PACKET_SIZE_ROBOT_FEEDBACK);
HexOut(buffer_RobotFeedback[id].packet.payload, PACKET_SIZE_REM_ROBOT_FEEDBACK);
buffer_RobotFeedback[id].isNewPacket = false;
}
}
Expand All @@ -111,7 +111,7 @@ void loop(){
for(int id = 0; id <= MAX_ROBOT_ID; id++){
if(buffer_RobotStateInfo[id].isNewPacket){
handled_RobotBuzzer++;
HexOut(buffer_RobotStateInfo[id].packet.payload, PACKET_SIZE_ROBOT_STATE_INFO);
HexOut(buffer_RobotStateInfo[id].packet.payload, PACKET_SIZE_REM_ROBOT_STATE_INFO);
buffer_RobotStateInfo[id].isNewPacket = false;
}
}
Expand All @@ -124,15 +124,15 @@ void loop(){

if (flagHandleConfiguration) {
// TODO: Make a nice function for this
BasestationConfiguration configuration;
configuration.header = PACKET_TYPE_BASESTATION_CONFIGURATION;
REM_BasestationConfiguration configuration;
configuration.header = PACKET_TYPE_REM_BASESTATION_CONFIGURATION;
configuration.remVersion = LOCAL_REM_VERSION;
configuration.channel = SX1280_getCurrentChannel();

BasestationConfigurationPayload payload;
encodeBasestationConfiguration(&payload, &configuration);
REM_BasestationConfigurationPayload payload;
encodeREM_BasestationConfiguration(&payload, &configuration);

HexOut(payload.payload, PACKET_SIZE_BASESTATION_CONFIGURATION);
HexOut(payload.payload, PACKET_SIZE_REM_BASESTATION_CONFIGURATION);
flagHandleConfiguration = false;
}

Expand Down Expand Up @@ -224,15 +224,15 @@ void handleRobotCommand(uint8_t* packet_buffer){
handled_RobotCommand++;

// Check if the packet REM version corresponds to the local REM version. If the REM versions do not correspond, drop the packet.
uint8_t packet_rem_version = RobotCommand_get_remVersion((RobotCommandPayload*) packet_buffer);
uint8_t packet_rem_version = REM_RobotCommand_get_remVersion((REM_RobotCommandPayload*) packet_buffer);
if(packet_rem_version != LOCAL_REM_VERSION){
sprintf(logBuffer, "[handleRobotCommand] Error! packet_rem_version %u != %u LOCAL_REM_VERSION.", packet_rem_version, LOCAL_REM_VERSION);
return;
}

// Store the message in the RobotCommand buffer. Set flag indicating packet needs to be sent to the robot
uint8_t robot_id = RobotCommand_get_id((RobotCommandPayload*) packet_buffer);
memcpy(buffer_RobotCommand[robot_id].packet.payload, packet_buffer, PACKET_SIZE_ROBOT_COMMAND);
uint8_t robot_id = REM_RobotCommand_get_id((REM_RobotCommandPayload*) packet_buffer);
memcpy(buffer_RobotCommand[robot_id].packet.payload, packet_buffer, PACKET_SIZE_REM_ROBOT_COMMAND);
buffer_RobotCommand[robot_id].isNewPacket = true;
buffer_RobotCommand[robot_id].counter++;
}
Expand All @@ -249,15 +249,15 @@ void handleRobotFeedback(uint8_t* packet_buffer){
handled_RobotFeedback++;

// Check if the packet REM version corresponds to the local REM version. If the REM versions do not correspond, drop the packet.
uint8_t packet_rem_version = RobotFeedback_get_remVersion((RobotFeedbackPayload*) packet_buffer);
uint8_t packet_rem_version = REM_RobotFeedback_get_remVersion((REM_RobotFeedbackPayload*) packet_buffer);
if(packet_rem_version != LOCAL_REM_VERSION){
sprintf(logBuffer, "[handleRobotFeedback] Error! packet_rem_version %u != %u LOCAL_REM_VERSION.", packet_rem_version, LOCAL_REM_VERSION);
return;
}

// Store the message in the RobotFeedback buffer. Set flag indicating packet needs to be sent to the robot
uint8_t robot_id = RobotFeedback_get_id((RobotFeedbackPayload*) packet_buffer);
memcpy(buffer_RobotFeedback[robot_id].packet.payload, packet_buffer, PACKET_SIZE_ROBOT_FEEDBACK);
uint8_t robot_id = REM_RobotFeedback_get_id((REM_RobotFeedbackPayload*) packet_buffer);
memcpy(buffer_RobotFeedback[robot_id].packet.payload, packet_buffer, PACKET_SIZE_REM_ROBOT_FEEDBACK);
buffer_RobotFeedback[robot_id].isNewPacket = true;
buffer_RobotFeedback[robot_id].counter++;
}
Expand All @@ -274,15 +274,15 @@ void handleRobotStateInfo(uint8_t* packet_buffer){
handled_RobotStateInfo++;

// Check if the packet REM version corresponds to the local REM version. If the REM versions do not correspond, drop the packet.
uint8_t packet_rem_version = RobotStateInfo_get_remVersion((RobotStateInfoPayload*) packet_buffer);
uint8_t packet_rem_version = REM_RobotStateInfo_get_remVersion((REM_RobotStateInfoPayload*) packet_buffer);
if(packet_rem_version != LOCAL_REM_VERSION){
sprintf(logBuffer, "[handleRobotStateInfo] Error! packet_rem_version %u != %u LOCAL_REM_VERSION.", packet_rem_version, LOCAL_REM_VERSION);
return;
}

// Store the message in the RobotStateInfo buffer. Set flag to be sent to the robot
uint8_t robot_id = RobotStateInfo_get_id((RobotStateInfoPayload*) packet_buffer);
memcpy(buffer_RobotStateInfo[robot_id].packet.payload, packet_buffer, PACKET_SIZE_ROBOT_STATE_INFO);
uint8_t robot_id = REM_RobotStateInfo_get_id((REM_RobotStateInfoPayload*) packet_buffer);
memcpy(buffer_RobotStateInfo[robot_id].packet.payload, packet_buffer, PACKET_SIZE_REM_ROBOT_STATE_INFO);
buffer_RobotStateInfo[robot_id].isNewPacket = true;
buffer_RobotStateInfo[robot_id].counter++;
}
Expand All @@ -299,29 +299,29 @@ void handleRobotBuzzer(uint8_t* packet_buffer){
handled_RobotBuzzer++;

// Check if the packet REM version corresponds to the local REM version. If the REM versions do not correspond, drop the packet.
uint8_t packet_rem_version = RobotBuzzer_get_remVersion((RobotBuzzerPayload*) packet_buffer);
uint8_t packet_rem_version = REM_RobotBuzzer_get_remVersion((REM_RobotBuzzerPayload*) packet_buffer);
if(packet_rem_version != LOCAL_REM_VERSION){
sprintf(logBuffer, "[handleRobotBuzzer] Error! packet_rem_version %u != %u LOCAL_REM_VERSION.", packet_rem_version, LOCAL_REM_VERSION);
return;
}

// Store the message in the RobotBuzzer buffer. Set flag to be sent to the robot
uint8_t robot_id = RobotBuzzer_get_id((RobotBuzzerPayload*) packet_buffer);
memcpy(buffer_RobotBuzzer[robot_id].packet.payload, packet_buffer, PACKET_SIZE_ROBOT_BUZZER);
uint8_t robot_id = REM_RobotBuzzer_get_id((REM_RobotBuzzerPayload*) packet_buffer);
memcpy(buffer_RobotBuzzer[robot_id].packet.payload, packet_buffer, PACKET_SIZE_REM_ROBOT_BUZZER);
buffer_RobotBuzzer[robot_id].isNewPacket = true;
buffer_RobotBuzzer[robot_id].counter++;
}

void handleBasestationSetConfiguration(uint8_t* packet_buffer){
// Check if the packet REM version corresponds to the local REM version. If the REM versions do not correspond, drop the packet.
uint8_t packet_rem_version = BasestationSetConfiguration_get_remVersion((BasestationSetConfigurationPayload*) packet_buffer);
uint8_t packet_rem_version = REM_BasestationSetConfiguration_get_remVersion((REM_BasestationSetConfigurationPayload*) packet_buffer);
//uint8_t packet_rem_version = RobotBuzzer_get_remVersion((RobotBuzzerPayload*) packet_buffer);
if(packet_rem_version != LOCAL_REM_VERSION){
sprintf(logBuffer, "[handleBasestationSetConfiguration] Error! packet_rem_version %u != %u LOCAL_REM_VERSION.", packet_rem_version, LOCAL_REM_VERSION);
return;
}

WIRELESS_CHANNEL newChannel = BasestationSetConfiguration_get_channel((BasestationSetConfigurationPayload*) packet_buffer);
WIRELESS_CHANNEL newChannel = REM_BasestationSetConfiguration_get_channel((REM_BasestationSetConfigurationPayload*) packet_buffer);
SX1280_updateChannel(newChannel);
}

Expand Down Expand Up @@ -360,38 +360,38 @@ bool handlePacket(uint8_t* packet_buffer, uint32_t packet_length){

switch (packet_type){

case PACKET_TYPE_ROBOT_COMMAND:
case PACKET_TYPE_REM_ROBOT_COMMAND:
handleRobotCommand(packet_buffer + bytes_processed);
bytes_processed += PACKET_SIZE_ROBOT_COMMAND;
bytes_processed += PACKET_SIZE_REM_ROBOT_COMMAND;
break;

case PACKET_TYPE_ROBOT_FEEDBACK:
case PACKET_TYPE_REM_ROBOT_FEEDBACK:
handleRobotFeedback(packet_buffer + bytes_processed);
bytes_processed += PACKET_SIZE_ROBOT_FEEDBACK;
bytes_processed += PACKET_SIZE_REM_ROBOT_FEEDBACK;
break;

case PACKET_TYPE_BASESTATION_GET_STATISTICS:
bytes_processed += PACKET_SIZE_BASESTATION_GET_STATISTICS;
case PACKET_TYPE_REM_BASESTATION_GET_STATISTICS:
bytes_processed += PACKET_SIZE_REM_BASESTATION_GET_STATISTICS;
// flagHandleStatistics = true;
break;

case PACKET_TYPE_ROBOT_BUZZER:
case PACKET_TYPE_REM_ROBOT_BUZZER:
handleRobotBuzzer(packet_buffer + bytes_processed);
bytes_processed += PACKET_SIZE_ROBOT_BUZZER;
bytes_processed += PACKET_SIZE_REM_ROBOT_BUZZER;
break;

case PACKET_TYPE_ROBOT_STATE_INFO:
case PACKET_TYPE_REM_ROBOT_STATE_INFO:
handleRobotStateInfo(packet_buffer + bytes_processed);
bytes_processed += PACKET_SIZE_ROBOT_STATE_INFO;
bytes_processed += PACKET_SIZE_REM_ROBOT_STATE_INFO;
break;

case PACKET_TYPE_BASESTATION_SET_CONFIGURATION:
case PACKET_TYPE_REM_BASESTATION_SET_CONFIGURATION:
handleBasestationSetConfiguration(packet_buffer + bytes_processed);
bytes_processed += PACKET_SIZE_BASESTATION_SET_CONFIGURATION;
bytes_processed += PACKET_SIZE_REM_BASESTATION_SET_CONFIGURATION;
break;

case PACKET_TYPE_BASESTATION_GET_CONFIGURATION:
bytes_processed += PACKET_SIZE_BASESTATION_GET_CONFIGURATION;
case PACKET_TYPE_REM_BASESTATION_GET_CONFIGURATION:
bytes_processed += PACKET_SIZE_REM_BASESTATION_GET_CONFIGURATION;
flagHandleConfiguration = true;
break;

Expand Down Expand Up @@ -455,18 +455,18 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){

/* Add RobotCommand to the transmission */
if(buffer_RobotCommand[idCounter].isNewPacket
&& total_packet_length + PACKET_SIZE_ROBOT_COMMAND < MAX_PACKET_SIZE){
&& total_packet_length + PACKET_SIZE_REM_ROBOT_COMMAND < MAX_PACKET_SIZE){
buffer_RobotCommand[idCounter].isNewPacket = false;
memcpy(sendBuffer + total_packet_length, buffer_RobotCommand[idCounter].packet.payload, PACKET_SIZE_ROBOT_COMMAND);
total_packet_length += PACKET_SIZE_ROBOT_COMMAND;
memcpy(sendBuffer + total_packet_length, buffer_RobotCommand[idCounter].packet.payload, PACKET_SIZE_REM_ROBOT_COMMAND);
total_packet_length += PACKET_SIZE_REM_ROBOT_COMMAND;
}

/* Add RobotBuzzer to the transmission */
if(buffer_RobotBuzzer[idCounter].isNewPacket
&& total_packet_length + PACKET_SIZE_ROBOT_BUZZER < MAX_PACKET_SIZE){
&& total_packet_length + PACKET_SIZE_REM_ROBOT_BUZZER < MAX_PACKET_SIZE){
buffer_RobotBuzzer[idCounter].isNewPacket = false;
memcpy(sendBuffer + total_packet_length, buffer_RobotBuzzer[idCounter].packet.payload, PACKET_SIZE_ROBOT_BUZZER);
total_packet_length += PACKET_SIZE_ROBOT_BUZZER;
memcpy(sendBuffer + total_packet_length, buffer_RobotBuzzer[idCounter].packet.payload, PACKET_SIZE_REM_ROBOT_BUZZER);
total_packet_length += PACKET_SIZE_REM_ROBOT_BUZZER;
}

/* Send new command if available for this robot ID */
Expand Down
2 changes: 1 addition & 1 deletion python_utils/roboteam_embedded_messages
Submodule roboteam_embedded_messages updated 53 files
+39 −11 generator/BaseTypeGenerator.py
+7 −4 generator/Generator.py
+1 −1 generator/latest_rem_version.txt
+2 −2 generator/main.py
+11 −11 generator/packets.py
+0 −102 include/BaseTypes.h
+0 −66 include/BasestationConfiguration.h
+0 −42 include/BasestationGetConfiguration.h
+0 −42 include/BasestationGetStatistics.h
+0 −42 include/BasestationLog.h
+0 −66 include/BasestationSetConfiguration.h
+0 −470 include/BasestationStatistics.h
+119 −0 include/REM_BaseTypes.h
+66 −0 include/REM_BasestationConfiguration.h
+42 −0 include/REM_BasestationGetConfiguration.h
+42 −0 include/REM_BasestationGetStatistics.h
+42 −0 include/REM_BasestationLog.h
+66 −0 include/REM_BasestationSetConfiguration.h
+470 −0 include/REM_BasestationStatistics.h
+106 −0 include/REM_RobotBuzzer.h
+238 −0 include/REM_RobotCommand.h
+233 −0 include/REM_RobotFeedback.h
+78 −0 include/REM_RobotLog.h
+222 −0 include/REM_RobotStateInfo.h
+0 −106 include/RobotBuzzer.h
+0 −238 include/RobotCommand.h
+0 −233 include/RobotFeedback.h
+0 −78 include/RobotLog.h
+0 −222 include/RobotStateInfo.h
+1 −1 proto/REM_BasestationConfiguration.proto
+1 −1 proto/REM_BasestationGetConfiguration.proto
+1 −1 proto/REM_BasestationGetStatistics.proto
+1 −1 proto/REM_BasestationLog.proto
+1 −1 proto/REM_BasestationSetConfiguration.proto
+1 −1 proto/REM_BasestationStatistics.proto
+1 −1 proto/REM_RobotBuzzer.proto
+1 −1 proto/REM_RobotCommand.proto
+1 −1 proto/REM_RobotFeedback.proto
+1 −1 proto/REM_RobotLog.proto
+1 −1 proto/REM_RobotStateInfo.proto
+0 −98 python/BaseTypes.py
+113 −0 python/REM_BaseTypes.py
+9 −9 python/REM_BasestationConfiguration.py
+5 −5 python/REM_BasestationGetConfiguration.py
+5 −5 python/REM_BasestationGetStatistics.py
+5 −5 python/REM_BasestationLog.py
+9 −9 python/REM_BasestationSetConfiguration.py
+71 −71 python/REM_BasestationStatistics.py
+15 −15 python/REM_RobotBuzzer.py
+35 −35 python/REM_RobotCommand.py
+35 −35 python/REM_RobotFeedback.py
+11 −11 python/REM_RobotLog.py
+27 −27 python/REM_RobotStateInfo.py

0 comments on commit 7262225

Please sign in to comment.