Browse Source

update

sunlight
zhaohe 11 months ago
parent
commit
00141ac267
  1. 4
      .settings/language.settings.xml
  2. 2
      app_protocols
  3. BIN
      ui/hand_acid_mainboard_ui.HMI
  4. 51
      usrc/service/app_core.cpp
  5. 2
      usrc/service/front_end_controler.cpp
  6. 47
      usrc/service/remote_controler.cpp

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1198437934552552923" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1729409962368012780" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1182943701957397996" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1744904194963167707" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

2
app_protocols

@ -1 +1 @@
Subproject commit dbdfce1070c28400346d455da9862c34c767d4fc
Subproject commit 7c86a5d3b430a0a02b78355035f18ed2ec9ee24d

BIN
ui/hand_acid_mainboard_ui.HMI

51
usrc/service/app_core.cpp

@ -78,6 +78,47 @@ void AppCore::processKeyEventFromRemoter(hand_acid_remoter_key_event_t keyEvent)
}
}
void blelogdump(uint8_t* rx, int32_t len) {
//
zble_proto_packet_t* packet = (zble_proto_packet_t*)rx;
ZLOGI(TAG, "onEvent: index:[%d],from:%d,to:%d cmd:%d", packet->frameIndex, packet->from, packet->to, packet->cmd);
if (packet->cmd == kzble_report_connected_event) {
zble_connected_event_t* event = (zble_connected_event_t*)packet->data;
ZLOGI(TAG, "onBleEvent -> [connected], name:%20s, peeradd:%s, rssi:%d, tx_power:%d", event->blename, zhex2str(event->peeradd, 6), event->rssi, event->tx_power);
return;
}
if (packet->cmd == kzble_report_disconnect_event) {
ZLOGI(TAG, "onBleEvent -> disconnect");
return;
}
if (packet->cmd == kzble_report_scan_result) {
zble_scan_result_t* event = (zble_scan_result_t*)packet->data;
ZLOGI(TAG, "onBleEvent -> [scanResult], name:%20s, peeradd:%s, rssi:%d, tx_power:%d", event->blename, zhex2str(event->peeradd, 6), event->rssi, event->tx_power);
return;
}
if (packet->cmd == kzble_report_heart) {
zble_heart_t* event = (zble_heart_t*)packet->data;
ZLOGI(TAG, "onBleEvent -> [heart], from:%s, resetFlag:%d, connectedFlag:%d, power:%d", zble_proto_role_2_str(packet->from), event->reset_flag, event->connected_flag, event->power);
return;
}
if (packet->cmd == kzble_report_power_on) {
ZLOGI(TAG, "onBleEvent -> [power_on], from:%s", zble_proto_role_2_str(packet->from));
return;
}
if (packet->cmd == kzble_app_report_key_event) {
int32_t keyEvent = *(int32_t*)packet->data;
ZLOGI(TAG, "onBleEvent -> [keyEvent] : %s(%d)", hand_acid_remoter_key_event_2_str(keyEvent), keyEvent);
return;
}
ZLOGI(TAG, "[process-thread] rx unkown event(%d) : %s", packet->cmd, zhex2str(rx, len));
}
void AppCore::appsetup() {
/***********************************************************************************************************************
* INIT *
@ -97,15 +138,19 @@ void AppCore::appsetup() {
Page_main::ins()->initialize(); //
Page_keybAcidCh::ins()->initialize();
Page_muAcidType::ins()->initialize();
/***********************************************************************************************************************
* REG_EVENT_HANDLER *
***********************************************************************************************************************/
RCTRL->regOnReport([this](uint8_t* rx, int32_t len) { //
RCTRL->regOnReport([this](uint8_t* rx, int32_t len) {
zble_proto_packet_t* packet = (zble_proto_packet_t*)rx;
ZLOGI(TAG, "[] rx event : %s", zhex2str(rx, len));
blelogdump(rx, len);
if (packet->cmd == kzble_app_report_key_event) {
int32_t keyEvent = *(int32_t*)packet->data;
processKeyEventFromRemoter((hand_acid_remoter_key_event_t)keyEvent);
return;
}
});
@ -119,11 +164,13 @@ void AppCore::appsetup() {
// dim
UIS->chpage(pg_login);
}
#define DEBUG_LIGHT_IO PE2
void AppCore::initialize() {
AppHal::MX_TIM6_Init();
AppHal::MX_TIM7_Init();
AppHal::DEBUG_UART_INIT(PA9, PA10, 460800);
debuglight.initAsOutput(DEBUG_LIGHT_IO, kxs_gpio_nopull, false, false);
ZLOGI(TAG, "======================= boardinfo ==================== ");
ZLOGI(TAG, "project : %s ", PROJECT);

2
usrc/service/front_end_controler.cpp

@ -9,7 +9,7 @@
using namespace iflytop;
#define CMD_OVERTIME 50
#define DEBUG 1
#define DEBUG 0
static ZThread uart_rx_thread;
static ZThread rx_processed_thread;

47
usrc/service/remote_controler.cpp

@ -3,10 +3,11 @@
#include "app_protocols/ble_through/ble_proto_utils.h"
using namespace iflytop;
#define UART_RX_OVERTIME 3
#define UART_RX_OVERTIME 10
#define TAG "RemoteControler"
#define CMD_OVERTIME 500
#define DEBUG 1
static ZQueue<RemoteControlerReportPacket_t> ackQueue;
static ZQueue<RemoteControlerReportPacket_t> eventQueue;
@ -33,6 +34,7 @@ void RemoteControlerUpper::initialize() {
m_uart = AppHardware::ins()->remoteContolerUart;
m_cmdlock.init();
zble_proto_utils_init(kzble_master);
}
void RemoteControlerUpper::regOnReport(on_report_cb_t on_report) {
m_cb[m_ncb] = on_report;
@ -72,7 +74,8 @@ void RemoteControlerUpper::startSchedule() {
if (rxpacket.datalen != 0) {
preProcessrxpacket(&rxpacket);
}
osDelay(1);
// ZLOGI(TAG,".");
osDelay(3);
}
});
@ -160,68 +163,68 @@ bool RemoteControlerUpper::txcmd(uint8_t* data, uint32_t len) {
bool RemoteControlerUpper::resetMasterBoard() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_reset, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::resetClientBoard() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_reset, m_index++, NULL, 0);
txpacket->to = kzble_slave;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_slave);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::readMasterBoardVersion(zble_read_version_t* version) {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_read_version, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
if (suc) *version = *(zble_read_version_t*)(rxpacket->data);
return suc;
}
bool RemoteControlerUpper::readClientBoardVersion(zble_read_version_t* version) {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_read_version, m_index++, NULL, 0);
txpacket->to = kzble_slave;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_slave);
bool suc = txcmd(txbuf, txpacket->packetlen);
if (suc) *version = *(zble_read_version_t*)(rxpacket->data);
return suc;
}
bool RemoteControlerUpper::clearMasterResetFlag() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_clear_reset_flag, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::clearSlaveResetFlag() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_clear_reset_flag, m_index++, NULL, 0);
txpacket->to = kzble_slave;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_slave);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::setMasterInDfuMode() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_set_in_dfu_mode, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::setSlaveInDfuMode() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_set_in_dfu_mode, m_index++, NULL, 0);
txpacket->to = kzble_slave;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_slave);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::startScan() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_start_scan, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
bool RemoteControlerUpper::stopScan() {
zble_proto_utils_create_cmd_packet(txpacket, kzble_cmd_stop_scan, m_index++, NULL, 0);
txpacket->to = kzble_master;
bool suc = txcmd(txbuf, txpacket->packetlen);
zble_proto_utils_set_packet_to(txpacket, kzble_master);
bool suc = txcmd(txbuf, txpacket->packetlen);
return suc;
}
/***********************************************************************************************************************

Loading…
Cancel
Save