Reorganize messages into module groups
							parent
							
								
									f0befa0b7b
								
							
						
					
					
						commit
						60673a5283
					
				@ -0,0 +1,28 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t CHASSIS_HOST = 3;
 | 
			
		||||
static const uint8_t CHASSIS_INDEX = 6;
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_WHEEL_SPEED_CMDID = 0x20;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int16_t w1,
 | 
			
		||||
		int16_t w2,
 | 
			
		||||
		int16_t w3,
 | 
			
		||||
		int16_t w4 );
 | 
			
		||||
 | 
			
		||||
static const uint8_t CHASSIS_SPEED_MODE_CMDID = 0x21;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
chassis_speed_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		float x,
 | 
			
		||||
		float y,
 | 
			
		||||
		float z );
 | 
			
		||||
@ -1,39 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SYSTEM_LED_CMDID = 0x33;
 | 
			
		||||
 | 
			
		||||
enum LEDCOMP {
 | 
			
		||||
    LEDCOMP_BOTTOM_BACK = 0x1,
 | 
			
		||||
    LEDCOMP_BOTTOM_FRONT = 0x2,
 | 
			
		||||
    LEDCOMP_BOTTOM_LEFT = 0x4,
 | 
			
		||||
    LEDCOMP_BOTTOM_RIGHT = 0x8,
 | 
			
		||||
    LEDCOMP_BOTTOM_ALL = 0xf,
 | 
			
		||||
    LEDCOMP_TOP_LEFT = 0x10,
 | 
			
		||||
    LEDCOMP_TOP_RIGHT = 0x20,
 | 
			
		||||
    LEDCOMP_TOP_ALL = 0x30,
 | 
			
		||||
    LEDCOMP_ALL = 0x3f
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum LEDEFFECT {
 | 
			
		||||
    LEDEFFECT_OFF = 0,
 | 
			
		||||
    LEDEFFECT_ON = 1,
 | 
			
		||||
    LEDEFFECT_BREATH = 2,
 | 
			
		||||
    LEDEFFECT_FLASH = 3,
 | 
			
		||||
    LEDEFFECT_SCROLLING = 4
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void set_system_led (
 | 
			
		||||
		Client session,
 | 
			
		||||
		uint8_t red,
 | 
			
		||||
		uint8_t green,
 | 
			
		||||
		uint8_t blue,
 | 
			
		||||
		enum LEDCOMP comp,
 | 
			
		||||
		uint16_t led_mask,
 | 
			
		||||
		enum LEDEFFECT effect,
 | 
			
		||||
		uint16_t t1,
 | 
			
		||||
		uint16_t t2 );
 | 
			
		||||
@ -0,0 +1,96 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t SDK_HOST = 9;
 | 
			
		||||
static const uint8_t SDK_INDEX = 0;
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SDK_CONNECTION_CMDID = 0xD4;
 | 
			
		||||
 | 
			
		||||
enum CONNECTION {
 | 
			
		||||
    CONNECTION_WIFI_AP = 0,
 | 
			
		||||
    CONNECTION_WIFI_STA = 1,
 | 
			
		||||
    CONNECTION_USB_RNDIS = 2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_connection(
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum CONNECTION connection_type,
 | 
			
		||||
		uint32_t ip_address,
 | 
			
		||||
		uint16_t port );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SDK_HEARTBEAT_CMDID = 0xD5;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
sdk_heartbeat(
 | 
			
		||||
		Client session );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SDK_MODE_CMDID = 0xd1;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_mode(Client session, bool enable);
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SYSTEM_LED_CMDID = 0x33;
 | 
			
		||||
 | 
			
		||||
enum LEDCOMP {
 | 
			
		||||
    LEDCOMP_BOTTOM_BACK = 0x1,
 | 
			
		||||
    LEDCOMP_BOTTOM_FRONT = 0x2,
 | 
			
		||||
    LEDCOMP_BOTTOM_LEFT = 0x4,
 | 
			
		||||
    LEDCOMP_BOTTOM_RIGHT = 0x8,
 | 
			
		||||
    LEDCOMP_BOTTOM_ALL = 0xf,
 | 
			
		||||
    LEDCOMP_TOP_LEFT = 0x10,
 | 
			
		||||
    LEDCOMP_TOP_RIGHT = 0x20,
 | 
			
		||||
    LEDCOMP_TOP_ALL = 0x30,
 | 
			
		||||
    LEDCOMP_ALL = 0x3f
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum LEDEFFECT {
 | 
			
		||||
    LEDEFFECT_OFF = 0,
 | 
			
		||||
    LEDEFFECT_ON = 1,
 | 
			
		||||
    LEDEFFECT_BREATH = 2,
 | 
			
		||||
    LEDEFFECT_FLASH = 3,
 | 
			
		||||
    LEDEFFECT_SCROLLING = 4
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void set_system_led (
 | 
			
		||||
		Client session,
 | 
			
		||||
		uint8_t red,
 | 
			
		||||
		uint8_t green,
 | 
			
		||||
		uint8_t blue,
 | 
			
		||||
		enum LEDCOMP comp,
 | 
			
		||||
		uint16_t led_mask,
 | 
			
		||||
		enum LEDEFFECT effect,
 | 
			
		||||
		uint16_t t1,
 | 
			
		||||
		uint16_t t2 );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_ROBOT_MODE_CMDID = 0x46;
 | 
			
		||||
 | 
			
		||||
enum MOVEMENTMODE {
 | 
			
		||||
    MOVEMENTMODE_FREE,
 | 
			
		||||
    MOVEMENTMODE_GIMBAL_LEAD,
 | 
			
		||||
    MOVEMENTMODE_CHASSIS_LEAD
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_robot_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum MOVEMENTMODE mode );
 | 
			
		||||
 | 
			
		||||
// cmdset 0x48
 | 
			
		||||
static const uint8_t SUBNODE_RESET_CMDID = 0x02;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subnode_reset (
 | 
			
		||||
		Client session );
 | 
			
		||||
 | 
			
		||||
// cmdset 0x48
 | 
			
		||||
static const uint8_t SUBSCRIBE_ADD_NODE_CMDID = 0x01;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subscribe_add_node (
 | 
			
		||||
		Client session );
 | 
			
		||||
 | 
			
		||||
@ -1,27 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SDK_CONNECTION_CMDID = 0xD4;
 | 
			
		||||
 | 
			
		||||
enum CONNECTION {
 | 
			
		||||
    CONNECTION_WIFI_AP = 0,
 | 
			
		||||
    CONNECTION_WIFI_STA = 1,
 | 
			
		||||
    CONNECTION_USB_RNDIS = 2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_connection(
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum CONNECTION connection_type,
 | 
			
		||||
		uint32_t ip_address,
 | 
			
		||||
		uint16_t port );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SDK_HEARTBEAT_CMDID = 0xD5;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
sdk_heartbeat(
 | 
			
		||||
		Client session );
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_SDK_MODE_CMDID = 0xd1;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_mode(Client session, bool enable);
 | 
			
		||||
@ -1,62 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "message.h"
 | 
			
		||||
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_WHEEL_SPEED_CMDID = 0x20;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int16_t w1,
 | 
			
		||||
		int16_t w2,
 | 
			
		||||
		int16_t w3,
 | 
			
		||||
		int16_t w4 );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_CHASSIS_WHEEL_SPEED_CMDID = 0x26;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_chassis_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int8_t w1,
 | 
			
		||||
		int8_t w2,
 | 
			
		||||
		int8_t w3,
 | 
			
		||||
		int8_t w4 );
 | 
			
		||||
 | 
			
		||||
static const uint8_t CHASSIS_SPEED_MODE_CMDID = 0x21;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
chassis_speed_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		float x,
 | 
			
		||||
		float y,
 | 
			
		||||
		float z );
 | 
			
		||||
 | 
			
		||||
static const uint8_t SET_ROBOT_MODE_CMDID = 0x46;
 | 
			
		||||
 | 
			
		||||
enum MOVEMENTMODE {
 | 
			
		||||
    MOVEMENTMODE_FREE,
 | 
			
		||||
    MOVEMENTMODE_GIMBAL_LEAD,
 | 
			
		||||
    MOVEMENTMODE_CHASSIS_LEAD
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_robot_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum MOVEMENTMODE mode );
 | 
			
		||||
 | 
			
		||||
// cmdset 0x48
 | 
			
		||||
static const uint8_t SUBNODE_RESET_CMDID = 0x02;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subnode_reset (
 | 
			
		||||
		Client session );
 | 
			
		||||
 | 
			
		||||
// cmdset 0x48
 | 
			
		||||
static const uint8_t SUBSCRIBE_ADD_NODE_CMDID = 0x01;
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subscribe_add_node (
 | 
			
		||||
		Client session );
 | 
			
		||||
@ -1,33 +0,0 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_system_led (
 | 
			
		||||
		Client session,
 | 
			
		||||
		uint8_t red,
 | 
			
		||||
		uint8_t green,
 | 
			
		||||
		uint8_t blue,
 | 
			
		||||
		enum LEDCOMP comp,
 | 
			
		||||
		uint16_t led_mask,
 | 
			
		||||
		enum LEDEFFECT effect,
 | 
			
		||||
		uint16_t t1,
 | 
			
		||||
		uint16_t t2 ) {
 | 
			
		||||
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
 | 
			
		||||
    req.led.comp_mask = comp;
 | 
			
		||||
    req.led.led_mask = led_mask;
 | 
			
		||||
    req.led.effect_mode = effect;
 | 
			
		||||
    req.led.control_mode = 7;
 | 
			
		||||
    req.led.red = red;
 | 
			
		||||
    req.led.green = green;
 | 
			
		||||
    req.led.blue = blue;
 | 
			
		||||
    req.led.loop = 0;
 | 
			
		||||
    req.led.t1 = t1;
 | 
			
		||||
    req.led.t2 = t2;
 | 
			
		||||
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SYSTEM_LED_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetSystemLedReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetSystemLedReq));
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,21 +0,0 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_connection(
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum CONNECTION connection_type,
 | 
			
		||||
		uint32_t ip_address,
 | 
			
		||||
		uint16_t port ) {
 | 
			
		||||
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.sdkconn.control = 0;
 | 
			
		||||
    req.sdkconn.host = session->hostbyte;
 | 
			
		||||
    req.sdkconn.connection = connection_type;
 | 
			
		||||
    req.sdkconn.protocol = 0;
 | 
			
		||||
    req.sdkconn.ip_address = ip_address;
 | 
			
		||||
    req.sdkconn.port = port;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SDK_CONNECTION_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetSdkConnectionReq), &req);
 | 
			
		||||
    req_send(session->sdk_conn, &req, sizeof(struct SetSdkConnectionReq));
 | 
			
		||||
}
 | 
			
		||||
@ -1,21 +0,0 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_mode(
 | 
			
		||||
		Client session,
 | 
			
		||||
		bool enable ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.sdkmode.enable = enable;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SDK_MODE_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetSdkModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetSdkModeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
sdk_heartbeat(
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req_finalize(session, 0x3F, SDK_HEARTBEAT_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SdkHeartbeatReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SdkHeartbeatReq));
 | 
			
		||||
}
 | 
			
		||||
@ -1,78 +0,0 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int16_t w1,
 | 
			
		||||
		int16_t w2,
 | 
			
		||||
		int16_t w3,
 | 
			
		||||
		int16_t w4 ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.wheel.wheel_speed[0] = w1;
 | 
			
		||||
    req.wheel.wheel_speed[1] = w2;
 | 
			
		||||
    req.wheel.wheel_speed[2] = w3;
 | 
			
		||||
    req.wheel.wheel_speed[3] = w4;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_WHEEL_SPEED_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetWheelSpeedReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetWheelSpeedReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_chassis_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int8_t w1,
 | 
			
		||||
		int8_t w2,
 | 
			
		||||
		int8_t w3,
 | 
			
		||||
		int8_t w4 ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.chswheel.wheel_speed[0] = w1;
 | 
			
		||||
    req.chswheel.wheel_speed[1] = w2;
 | 
			
		||||
    req.chswheel.wheel_speed[2] = w3;
 | 
			
		||||
    req.chswheel.wheel_speed[3] = w4;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_CHASSIS_WHEEL_SPEED_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetChassisWheelSpeedReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetChassisWheelSpeedReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
chassis_speed_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		float x,
 | 
			
		||||
		float y,
 | 
			
		||||
		float z ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.chsspeed.speed[0] = x;
 | 
			
		||||
    req.chsspeed.speed[1] = y;
 | 
			
		||||
    req.chsspeed.speed[2] = z;
 | 
			
		||||
    req_finalize(session, 0x3F, CHASSIS_SPEED_MODE_CMDID, host2byte(3, 6), false, sizeof(struct ChassisSpeedModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct ChassisSpeedModeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_robot_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum MOVEMENTMODE mode ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.mvmode.mode = mode;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_ROBOT_MODE_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SetRobotModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetRobotModeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subnode_reset (
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.subnodereset.hostbyte = session->hostbyte;
 | 
			
		||||
    req_finalize(session, 0x48, SUBNODE_RESET_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SubNodeResetReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SubNodeResetReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subscribe_add_node (
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.subnodeadd.hostbyte = session->hostbyte;
 | 
			
		||||
    req.subnodeadd.sub_vision = 0x03000000;
 | 
			
		||||
    req_finalize(session, 0x48, SUBSCRIBE_ADD_NODE_CMDID, host2byte(DEFAULT_CLIENT_HOST, DEFAULT_ROBOT_INDEX), true, sizeof(struct SubscribeAddNodeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SubscribeAddNodeReq));
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,33 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_wheel_speed (
 | 
			
		||||
		Client session,
 | 
			
		||||
		int16_t w1,
 | 
			
		||||
		int16_t w2,
 | 
			
		||||
		int16_t w3,
 | 
			
		||||
		int16_t w4 ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.wheel.wheel_speed[0] = w1;
 | 
			
		||||
    req.wheel.wheel_speed[1] = w2;
 | 
			
		||||
    req.wheel.wheel_speed[2] = w3;
 | 
			
		||||
    req.wheel.wheel_speed[3] = w4;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_WHEEL_SPEED_CMDID, host2byte(CHASSIS_HOST, CHASSIS_INDEX), true, sizeof(struct SetWheelSpeedReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetWheelSpeedReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
chassis_speed_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		float x,
 | 
			
		||||
		float y,
 | 
			
		||||
		float z ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.chsspeed.speed[0] = x;
 | 
			
		||||
    req.chsspeed.speed[1] = y;
 | 
			
		||||
    req.chsspeed.speed[2] = z;
 | 
			
		||||
    req_finalize(session, 0x3F, CHASSIS_SPEED_MODE_CMDID, host2byte(CHASSIS_HOST, CHASSIS_INDEX), false, sizeof(struct ChassisSpeedModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct ChassisSpeedModeReq));
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,98 @@
 | 
			
		||||
#include "message.h"
 | 
			
		||||
#include "connection.h"
 | 
			
		||||
#include "robomaster.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_connection(
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum CONNECTION connection_type,
 | 
			
		||||
		uint32_t ip_address,
 | 
			
		||||
		uint16_t port ) {
 | 
			
		||||
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.sdkconn.control = 0;
 | 
			
		||||
    req.sdkconn.host = session->hostbyte;
 | 
			
		||||
    req.sdkconn.connection = connection_type;
 | 
			
		||||
    req.sdkconn.protocol = 0;
 | 
			
		||||
    req.sdkconn.ip_address = ip_address;
 | 
			
		||||
    req.sdkconn.port = port;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SDK_CONNECTION_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SetSdkConnectionReq), &req);
 | 
			
		||||
    req_send(session->sdk_conn, &req, sizeof(struct SetSdkConnectionReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_sdk_mode(
 | 
			
		||||
		Client session,
 | 
			
		||||
		bool enable ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.sdkmode.enable = enable;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SDK_MODE_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SetSdkModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetSdkModeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
sdk_heartbeat(
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req_finalize(session, 0x3F, SDK_HEARTBEAT_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SdkHeartbeatReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SdkHeartbeatReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_robot_mode (
 | 
			
		||||
		Client session,
 | 
			
		||||
		enum MOVEMENTMODE mode ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.mvmode.mode = mode;
 | 
			
		||||
    req_finalize(session, 0x3F, SET_ROBOT_MODE_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SetRobotModeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetRobotModeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subnode_reset (
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.subnodereset.hostbyte = session->hostbyte;
 | 
			
		||||
    req_finalize(session, 0x48, SUBNODE_RESET_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SubNodeResetReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SubNodeResetReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
subscribe_add_node (
 | 
			
		||||
		Client session ) {
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
    req.subnodeadd.hostbyte = session->hostbyte;
 | 
			
		||||
    req.subnodeadd.sub_vision = 0x03000000;
 | 
			
		||||
    req_finalize(session, 0x48, SUBSCRIBE_ADD_NODE_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SubscribeAddNodeReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SubscribeAddNodeReq));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
set_system_led (
 | 
			
		||||
		Client session,
 | 
			
		||||
		uint8_t red,
 | 
			
		||||
		uint8_t green,
 | 
			
		||||
		uint8_t blue,
 | 
			
		||||
		enum LEDCOMP comp,
 | 
			
		||||
		uint16_t led_mask,
 | 
			
		||||
		enum LEDEFFECT effect,
 | 
			
		||||
		uint16_t t1,
 | 
			
		||||
		uint16_t t2 ) {
 | 
			
		||||
 | 
			
		||||
    union Request req = {0};
 | 
			
		||||
 | 
			
		||||
    req.led.comp_mask = comp;
 | 
			
		||||
    req.led.led_mask = led_mask;
 | 
			
		||||
    req.led.effect_mode = effect;
 | 
			
		||||
    req.led.control_mode = 7;
 | 
			
		||||
    req.led.red = red;
 | 
			
		||||
    req.led.green = green;
 | 
			
		||||
    req.led.blue = blue;
 | 
			
		||||
    req.led.loop = 0;
 | 
			
		||||
    req.led.t1 = t1;
 | 
			
		||||
    req.led.t2 = t2;
 | 
			
		||||
 | 
			
		||||
    req_finalize(session, 0x3F, SET_SYSTEM_LED_CMDID, host2byte(SDK_HOST, SDK_INDEX), true, sizeof(struct SetSystemLedReq), &req);
 | 
			
		||||
    req_send(session->dev_conn, &req, sizeof(struct SetSystemLedReq));
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue