Browse Source

update

master
zhaohe 1 year ago
parent
commit
f2646b051b
  1. 6
      errorcode.c
  2. 11
      errorcode.h
  3. 95
      protocol.h
  4. 3
      protocol.hpp

6
errorcode.cpp → errorcode.c

@ -1,11 +1,9 @@
#include "errorcode.hpp"
#include "errorcode.h"
#define ERR2STR(code) \
case code: \
return #code;
namespace iflytop {
namespace err {
#define ERR_ITERM(enum) \
{ enum, #enum }
@ -53,5 +51,3 @@ const char* error2str(int32_t code) {
ecode_table_item_t* error_get_table() { return table; }
int error_get_table_size() { return sizeof(table) / sizeof(table[0]); }
} // namespace err
} // namespace iflytop

11
errorcode.hpp → errorcode.h

@ -1,9 +1,9 @@
#pragma once
#include <stdint.h>
namespace iflytop {
namespace err {
using namespace std;
#ifdef __cplusplus
extern "C" {
#endif
#define ERROR_CODE(errortype, suberrorcode) (errortype + suberrorcode)
@ -50,5 +50,6 @@ const char* error2str(int32_t code);
ecode_table_item_t* error_get_table();
int error_get_table_size();
} // namespace err
} // namespace iflytop
#ifdef __cplusplus
}
#endif

95
protocol.h

@ -0,0 +1,95 @@
#pragma once
#include <stdint.h>
#include "errorcode.h"
#ifdef __cplusplus
extern "C" {
#endif
#define HAND_ACID_BLE_BASE_SIZE 3
typedef enum {
kproto_cmd = 1,
kproto_cmd_receipt = 2,
kproto_report = 3,
kproto_error_receipt = 4,
} hand_acid_ble_proto_packet_type_t;
typedef enum {
kproto_cmd_set_state = 1, // set_state
kproto_cmd_reset = 2, //
kproto_cmd_setlong_key_delayms = 3, //
kproto_cmd_ble_master_start_scan = 50, // process by ble master ble_master_start_scan
kproto_cmd_ble_master_enter_dfu = 51, // process by ble master ble_master_enter_dfu
kproto_cmd_ble_master_reset = 52, // process by ble master
kproto_report_key_event = 101, // key_event
kproto_report_connected_event = 102, // generater by ble master and slave
kproto_report_heart = 104, //
} hand_acid_ble_proto_cmd_t;
typedef enum {
khand_acid_m_unset_mode = 0, // unset_mode
khand_acid_m_jog_mode = 1, // jog_mode
khand_acid_m_continuous_mode = 2, // continuous_mode
} hand_acid_mode_t;
typedef enum {
khand_acid_pump_is_idle = 0, //
khand_acid_pump_is_working = 1, //
} hand_pump_working_state_t;
typedef enum {
kkey_short_press_event = 0, //
kkey_long_press_event = 1, //
} key_event_t;
typedef enum {
kkey_id_mode_and_action_butt,
kkey_id_liquid_reflux_butt,
} key_id_t;
#pragma pack(1)
typedef struct {
uint8_t frame_type;
uint8_t frame_index;
uint8_t cmd;
union {
struct {
uint8_t hand_acid_mode; // hand_acid_mode_t
uint8_t hand_pump_working_state; // hand_pump_working_state_t
} set_state;
//
struct {
uint8_t scanid[20]; // scan id
} ble_master_start_scan;
struct {
uint8_t keyid; // key_id_t
uint8_t keyevent; // key_event_t
} key_event;
struct {
uint8_t connected;
uint8_t from_ble_master;
} connected_event;
struct {
uint8_t powerlevel;
} heart;
struct {
uint32_t longkeydelay;
} setlong_key_delayms;
struct {
int32_t ecode;
} errreceipt;
} data;
} hand_acid_ble_proto_t;
#pragma pack()
#ifdef __cplusplus
}
#endif

3
protocol.hpp

@ -1,3 +0,0 @@
#pragma once
#include "errorcode.hpp"
Loading…
Cancel
Save