#include "message.h" #include "connection.h" #include "robomaster.h" void set_sdk_connection( union Request* req, uint16_t seq, bool ack, enum CONNECTION connection_type, uint32_t ip_address, uint16_t port ) { req->sdkconn.control = 0; req->sdkconn.host = host2byte(CLIENT_HOST, CLIENT_INDEX); req->sdkconn.connection = connection_type; req->sdkconn.protocol = 0; req->sdkconn.ip_address = ip_address; req->sdkconn.port = port; req_finalize(seq, SET_SDK_CONNECTION_CMD, ack, req); } void set_sdk_mode( union Request* req, uint16_t seq, bool ack, bool enable ) { req->sdkmode.enable = enable; req_finalize(seq, SET_SDK_MODE_CMD, ack, req); } void sdk_heartbeat( union Request* req, uint16_t seq, bool ack ) { req_finalize(seq, SDK_HEARTBEAT_CMD, ack, req); } void set_robot_mode ( union Request* req, uint16_t seq, bool ack, enum MOVEMENTMODE mode ) { req->mvmode.mode = mode; req_finalize(seq, SET_ROBOT_MODE_CMD, ack, req); } void subnode_reset ( union Request* req, uint16_t seq, bool ack ) { req->subnodereset.hostbyte = host2byte(CLIENT_HOST, CLIENT_INDEX); req_finalize(seq, SUBNODE_RESET_CMD, ack, req); } void subscribe_add_node ( union Request* req, uint16_t seq, bool ack ) { req->subnodeadd.hostbyte = host2byte(CLIENT_HOST, CLIENT_INDEX); req->subnodeadd.sub_vision = 0x03000000; req_finalize(seq, SUBSCRIBE_ADD_NODE_CMD, ack, req); } void set_system_led ( union Request* req, uint16_t seq, bool ack, 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 ) { 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(seq, SET_SYSTEM_LED_CMD, ack, req); }