12 changed files with 232 additions and 89 deletions
-
4.settings/language.settings.xml
-
2sdk
-
1usrc/board.h
-
87usrc/cmdline_version.cpp
-
3usrc/cmdline_version.hpp
-
9usrc/global.cpp
-
10usrc/global.hpp
-
95usrc/main.cpp
-
16usrc/project_configs.h
-
89usrc/transparent_version.cpp
-
3usrc/transparent_version.hpp
-
2zcancmder_debug_board.ioc
@ -1 +1 @@ |
|||||
Subproject commit 14aa923a01977e661bf9fab86cbb30aeb575f162 |
|
||||
|
Subproject commit 7a54e6e7ad92b17f22a1287a2d8f0cb269bceaf6 |
@ -0,0 +1 @@ |
|||||
|
#pragma once |
@ -0,0 +1,87 @@ |
|||||
|
#include <stddef.h>
|
||||
|
#include <stdio.h>
|
||||
|
|
||||
|
#include "sdk/os/zos.hpp"
|
||||
|
#include "sdk\components\flash\zsimple_flash.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver.hpp"
|
||||
|
#include "sdk\components\zcancmder_module\zcan_basic_order_module.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\protocol_parser.hpp"
|
||||
|
//
|
||||
|
#include "sdk\components\flash\znvs.hpp"
|
||||
|
//
|
||||
|
#include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp"
|
||||
|
#include "sdk\components\cmdscheduler\cmd_scheduler_v2.hpp"
|
||||
|
#include "sdk\components\hardware\uart\zuart_dma_receiver.hpp"
|
||||
|
#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp"
|
||||
|
#include "sdk\components\pipette_module\pipette_ctrl_module_v2.hpp"
|
||||
|
#include "sdk\components\sensors\m3078\m3078_code_scaner.hpp"
|
||||
|
#include "sdk\components\sensors\tmp117\tmp117.hpp"
|
||||
|
#include "sdk\components\ti\drv8710.hpp"
|
||||
|
#include "sdk\components\tmc\ic\ztmc5130.hpp"
|
||||
|
#include "sdk\components\water_cooling_temperature_control_module\pwm_ctrl_module.hpp"
|
||||
|
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcan_board_module.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
||||
|
#include "sdk\components\zprotocol_helper\micro_computer_module_device_script_cmder_paser.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\protocol_proxy.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\zmodule_device_manager.hpp"
|
||||
|
#include "global.hpp"
|
||||
|
// #include "M3078CodeScanner"
|
||||
|
|
||||
|
#define TAG "main"
|
||||
|
using namespace iflytop; |
||||
|
using namespace std; |
||||
|
static ZModuleDeviceManager g_zModuleDeviceManager; |
||||
|
static MicroComputerModuleDeviceScriptCmderPaser g_zModuleDeviceScriptCmderPaser; |
||||
|
static ZIProtocolProxy proxy[255]; |
||||
|
|
||||
|
void cmdline_version_main() { |
||||
|
chip_cfg_t chipcfg; |
||||
|
chipcfg.us_dleay_tim = &PC_SYS_DELAY_US_TIMER; |
||||
|
chipcfg.tim_irq_scheduler_tim = &PC_SYS_TIM_IRQ_SCHEDULER_TIMER; |
||||
|
chipcfg.huart = &PC_DEBUG_UART; |
||||
|
chipcfg.debuglight = PC_DEBUG_LIGHT_GPIO; |
||||
|
|
||||
|
chip_init(&chipcfg); |
||||
|
|
||||
|
zos_cfg_t zoscfg; |
||||
|
zos_init(&zoscfg); |
||||
|
|
||||
|
ZLOGI(TAG, "boardId:%d", 0); |
||||
|
|
||||
|
ZLOGI(TAG, "init can bus"); |
||||
|
auto* m_zcanCommnaderMaster_cfg = g_zcanCommnaderMaster.createCFG(); // can×ÜÏßÅäÖÃ
|
||||
|
g_zcanCommnaderMaster.init(m_zcanCommnaderMaster_cfg); // can×ÜÏß
|
||||
|
g_zModuleDeviceManager.initialize(&g_zcanCommnaderMaster); |
||||
|
ZLOGI(TAG, "init can bus end..."); |
||||
|
|
||||
|
static ZUARTDmaReceiver dmaUartReceiver; |
||||
|
static CmdSchedulerV2 cmder; |
||||
|
ZUARTDmaReceiver::hardware_config_t cfg = { |
||||
|
.huart = &PC_DEBUG_UART, |
||||
|
.dma_rx = &PC_DEBUG_UART_DMA_HANDLER, |
||||
|
.rxbuffersize = PC_DEBUG_UART_RX_BUF_SIZE, |
||||
|
.rxovertime_ms = 10, |
||||
|
}; |
||||
|
ZLOGI(TAG, "init cmder"); |
||||
|
dmaUartReceiver.initialize(&cfg); |
||||
|
cmder.initialize(&dmaUartReceiver); |
||||
|
ZLOGI(TAG, "init cmder end..."); |
||||
|
|
||||
|
ZLOGI(TAG, "init module"); |
||||
|
g_zModuleDeviceManager.initialize(&g_zcanCommnaderMaster); |
||||
|
g_zModuleDeviceScriptCmderPaser.initialize(&cmder, &g_zModuleDeviceManager); |
||||
|
ZLOGI(TAG, "reg modules"); |
||||
|
|
||||
|
for (size_t i = 1; i < 255; i++) { |
||||
|
proxy[i].initialize(i, &g_zcanCommnaderMaster); |
||||
|
g_zModuleDeviceManager.registerModule(&proxy[i]); |
||||
|
} |
||||
|
|
||||
|
ZLOGI(TAG, "board init ok..."); |
||||
|
|
||||
|
while (true) { |
||||
|
OSDefaultSchduler::getInstance()->loop(); |
||||
|
cmder.schedule(); |
||||
|
} |
||||
|
}; |
@ -0,0 +1,3 @@ |
|||||
|
#pragma once
|
||||
|
void cmdline_version_main(); |
||||
|
|
@ -0,0 +1,9 @@ |
|||||
|
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
||||
|
namespace iflytop { |
||||
|
ZGPIO g_Key0; |
||||
|
ZGPIO g_Key1; |
||||
|
ZGPIO g_Key2; |
||||
|
ZGPIO g_StateLight1; |
||||
|
ZCanCommnaderMaster g_zcanCommnaderMaster; |
||||
|
} // namespace iflytop
|
@ -0,0 +1,10 @@ |
|||||
|
#pragma once
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
||||
|
|
||||
|
namespace iflytop { |
||||
|
extern ZGPIO g_Key0; |
||||
|
extern ZGPIO g_Key1; |
||||
|
extern ZGPIO g_Key2; |
||||
|
extern ZGPIO g_StateLight1; |
||||
|
extern ZCanCommnaderMaster g_zcanCommnaderMaster; |
||||
|
} // namespace iflytop
|
@ -1,98 +1,31 @@ |
|||||
#include <stddef.h>
|
#include <stddef.h>
|
||||
#include <stdio.h>
|
#include <stdio.h>
|
||||
|
|
||||
|
#include "cmdline_version.hpp"
|
||||
|
#include "global.hpp"
|
||||
|
#include "project_configs.h"
|
||||
#include "sdk/os/zos.hpp"
|
#include "sdk/os/zos.hpp"
|
||||
#include "sdk\components\flash\zsimple_flash.hpp"
|
|
||||
#include "sdk\components\zcancmder\zcanreceiver.hpp"
|
|
||||
#include "sdk\components\zcancmder_module\zcan_basic_order_module.hpp"
|
|
||||
#include "sdk\components\zprotocols\zcancmder_v2\protocol_parser.hpp"
|
|
||||
//
|
|
||||
#include "sdk\components\flash\znvs.hpp"
|
|
||||
//
|
|
||||
#include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp"
|
|
||||
#include "sdk\components\cmdscheduler\cmd_scheduler_v2.hpp"
|
|
||||
#include "sdk\components\hardware\uart\zuart_dma_receiver.hpp"
|
|
||||
#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp"
|
|
||||
#include "sdk\components\pipette_module\pipette_ctrl_module_v2.hpp"
|
|
||||
#include "sdk\components\sensors\m3078\m3078_code_scaner.hpp"
|
|
||||
#include "sdk\components\sensors\tmp117\tmp117.hpp"
|
|
||||
#include "sdk\components\ti\drv8710.hpp"
|
|
||||
#include "sdk\components\tmc\ic\ztmc5130.hpp"
|
|
||||
#include "sdk\components\water_cooling_temperature_control_module\pwm_ctrl_module.hpp"
|
|
||||
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module.hpp"
|
|
||||
#include "sdk\components\zcancmder\zcan_board_module.hpp"
|
|
||||
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
||||
#include "sdk\components\zprotocol_helper\micro_computer_module_device_script_cmder_paser.hpp"
|
|
||||
#include "sdk\components\zprotocols\zcancmder_v2\protocol_proxy.hpp"
|
|
||||
#include "sdk\components\zprotocols\zcancmder_v2\zmodule_device_manager.hpp"
|
|
||||
// #include "M3078CodeScanner"
|
|
||||
|
#include "transparent_version.hpp"
|
||||
|
|
||||
#define TAG "main"
|
#define TAG "main"
|
||||
using namespace iflytop; |
|
||||
using namespace std; |
using namespace std; |
||||
|
using namespace iflytop; |
||||
|
|
||||
extern void umain(); |
extern void umain(); |
||||
extern "C" { |
extern "C" { |
||||
void StartDefaultTask(void const* argument) { umain(); } |
void StartDefaultTask(void const* argument) { umain(); } |
||||
} |
} |
||||
|
|
||||
static ZModuleDeviceManager g_zModuleDeviceManager; |
|
||||
static MicroComputerModuleDeviceScriptCmderPaser g_zModuleDeviceScriptCmderPaser; |
|
||||
static ZCanCommnaderMaster m_zcanCommnaderMaster; |
|
||||
static ZIProtocolProxy proxy[255]; |
|
||||
|
|
||||
void initcfg() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
void initmodule() {} |
|
||||
|
|
||||
void umain() { |
void umain() { |
||||
chip_cfg_t chipcfg; |
|
||||
chipcfg.us_dleay_tim = &PC_SYS_DELAY_US_TIMER; |
|
||||
chipcfg.tim_irq_scheduler_tim = &PC_SYS_TIM_IRQ_SCHEDULER_TIMER; |
|
||||
chipcfg.huart = &PC_DEBUG_UART; |
|
||||
chipcfg.debuglight = PC_DEBUG_LIGHT_GPIO; |
|
||||
|
|
||||
chip_init(&chipcfg); |
|
||||
|
|
||||
zos_cfg_t zoscfg; |
|
||||
zos_init(&zoscfg); |
|
||||
|
|
||||
ZLOGI(TAG, "boardId:%d", 0); |
|
||||
|
|
||||
ZLOGI(TAG, "init can bus"); |
|
||||
auto* m_zcanCommnaderMaster_cfg = m_zcanCommnaderMaster.createCFG(); // can×ÜÏßÅäÖÃ
|
|
||||
m_zcanCommnaderMaster.init(m_zcanCommnaderMaster_cfg); // can×ÜÏß
|
|
||||
g_zModuleDeviceManager.initialize(&m_zcanCommnaderMaster); |
|
||||
ZLOGI(TAG, "init can bus end..."); |
|
||||
|
|
||||
static ZUARTDmaReceiver dmaUartReceiver; |
|
||||
static CmdSchedulerV2 cmder; |
|
||||
ZUARTDmaReceiver::hardware_config_t cfg = { |
|
||||
.huart = &PC_DEBUG_UART, |
|
||||
.dma_rx = &PC_DEBUG_UART_DMA_HANDLER, |
|
||||
.rxbuffersize = PC_DEBUG_UART_RX_BUF_SIZE, |
|
||||
.rxovertime_ms = 10, |
|
||||
}; |
|
||||
ZLOGI(TAG, "init cmder"); |
|
||||
dmaUartReceiver.initialize(&cfg); |
|
||||
cmder.initialize(&dmaUartReceiver); |
|
||||
ZLOGI(TAG, "init cmder end..."); |
|
||||
|
|
||||
ZLOGI(TAG, "init module"); |
|
||||
g_zModuleDeviceManager.initialize(nullptr); |
|
||||
g_zModuleDeviceScriptCmderPaser.initialize(&cmder, &g_zModuleDeviceManager); |
|
||||
|
|
||||
for (size_t i = 1; i < 255; i++) { |
|
||||
proxy[i].initialize(i, &m_zcanCommnaderMaster); |
|
||||
g_zModuleDeviceManager.registerModule(&proxy[i]); |
|
||||
} |
|
||||
|
|
||||
ZLOGI(TAG, "board init ok..."); |
|
||||
|
|
||||
while (true) { |
|
||||
OSDefaultSchduler::getInstance()->loop(); |
|
||||
cmder.schedule(); |
|
||||
|
g_Key0.initAsInput(KEY0, ZGPIO::kMode_pullup, ZGPIO::kIRQ_noIrq, false); |
||||
|
g_StateLight1.initAsOutput(STATE_LIGHT_GPIO, ZGPIO::kMode_pullup, false, false); |
||||
|
|
||||
|
if (g_Key0.getState()) { |
||||
|
g_StateLight1.setState(true); |
||||
|
cmdline_version_main(); |
||||
|
} else { |
||||
|
g_StateLight1.setState(false); |
||||
|
transparent_version_main(); |
||||
} |
} |
||||
}; |
}; |
@ -0,0 +1,89 @@ |
|||||
|
#include <stddef.h>
|
||||
|
#include <stdio.h>
|
||||
|
|
||||
|
#include "sdk/os/zos.hpp"
|
||||
|
#include "sdk\components\flash\zsimple_flash.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver.hpp"
|
||||
|
#include "sdk\components\zcancmder_module\zcan_basic_order_module.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\protocol_parser.hpp"
|
||||
|
//
|
||||
|
#include "sdk\components\flash\znvs.hpp"
|
||||
|
//
|
||||
|
#include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp"
|
||||
|
#include "sdk\components\cmdscheduler\cmd_scheduler_v2.hpp"
|
||||
|
#include "sdk\components\hardware\uart\zuart_dma_receiver.hpp"
|
||||
|
#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp"
|
||||
|
#include "sdk\components\pipette_module\pipette_ctrl_module_v2.hpp"
|
||||
|
#include "sdk\components\sensors\m3078\m3078_code_scaner.hpp"
|
||||
|
#include "sdk\components\sensors\tmp117\tmp117.hpp"
|
||||
|
#include "sdk\components\ti\drv8710.hpp"
|
||||
|
#include "sdk\components\tmc\ic\ztmc5130.hpp"
|
||||
|
#include "sdk\components\water_cooling_temperature_control_module\pwm_ctrl_module.hpp"
|
||||
|
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcan_board_module.hpp"
|
||||
|
#include "sdk\components\zcancmder\zcanreceiver_master.hpp"
|
||||
|
#include "sdk\components\zprotocol_helper\micro_computer_module_device_script_cmder_paser.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\protocol_proxy.hpp"
|
||||
|
#include "sdk\components\zprotocols\zcancmder_v2\zmodule_device_manager.hpp"
|
||||
|
#include "string.h"
|
||||
|
// #include "M3078CodeScanner"
|
||||
|
#include "global.hpp"
|
||||
|
|
||||
|
#define TAG "main"
|
||||
|
using namespace iflytop; |
||||
|
using namespace std; |
||||
|
|
||||
|
uint32_t m_rxbufsize; |
||||
|
bool m_dataisready = false; |
||||
|
char m_cmdcache[1024] = {0}; |
||||
|
|
||||
|
void transparent_version_main() { |
||||
|
chip_cfg_t chipcfg; |
||||
|
chipcfg.us_dleay_tim = &PC_SYS_DELAY_US_TIMER; |
||||
|
chipcfg.tim_irq_scheduler_tim = &PC_SYS_TIM_IRQ_SCHEDULER_TIMER; |
||||
|
chipcfg.huart = NULL; |
||||
|
chipcfg.debuglight = PC_DEBUG_LIGHT_GPIO; |
||||
|
|
||||
|
chip_init(&chipcfg); |
||||
|
|
||||
|
zos_cfg_t zoscfg; |
||||
|
zos_init(&zoscfg); |
||||
|
|
||||
|
ZLOGI(TAG, "boardId:%d", 0); |
||||
|
|
||||
|
ZLOGI(TAG, "init can bus"); |
||||
|
auto* m_zcanCommnaderMaster_cfg = g_zcanCommnaderMaster.createCFG(); // can×ÜÏßÅäÖÃ
|
||||
|
g_zcanCommnaderMaster.init(m_zcanCommnaderMaster_cfg); // can×ÜÏß
|
||||
|
ZLOGI(TAG, "init can bus end..."); |
||||
|
|
||||
|
static ZUARTDmaReceiver dmaUartReceiver; |
||||
|
static CmdSchedulerV2 cmder; |
||||
|
ZUARTDmaReceiver::hardware_config_t cfg = { |
||||
|
.huart = &PC_DEBUG_UART, |
||||
|
.dma_rx = &PC_DEBUG_UART_DMA_HANDLER, |
||||
|
.rxbuffersize = PC_DEBUG_UART_RX_BUF_SIZE, |
||||
|
.rxovertime_ms = 3, |
||||
|
}; |
||||
|
ZLOGI(TAG, "init cmder"); |
||||
|
dmaUartReceiver.initialize(&cfg); |
||||
|
dmaUartReceiver.startRx([](uint8_t* data, size_t len) { |
||||
|
if (!m_dataisready) { |
||||
|
memcpy(m_cmdcache, data, len); |
||||
|
m_rxbufsize = len; |
||||
|
m_dataisready = true; |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
g_zcanCommnaderMaster.regRawPacketListener([](uint8_t* packet, size_t len) { //
|
||||
|
HAL_UART_Transmit(&PC_DEBUG_UART, packet, len, 1000); |
||||
|
osDelay(5); |
||||
|
}); |
||||
|
|
||||
|
while (true) { |
||||
|
OSDefaultSchduler::getInstance()->loop(); |
||||
|
if (m_dataisready) { |
||||
|
g_zcanCommnaderMaster.sendRawPacket((uint8_t*)m_cmdcache, m_rxbufsize); |
||||
|
m_dataisready = false; |
||||
|
} |
||||
|
} |
||||
|
}; |
@ -0,0 +1,3 @@ |
|||||
|
#pragma once
|
||||
|
void transparent_version_main(); |
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue