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 <stdio.h>
|
|||
|
|||
#include "cmdline_version.hpp"
|
|||
#include "global.hpp"
|
|||
#include "project_configs.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 "M3078CodeScanner"
|
|||
#include "transparent_version.hpp"
|
|||
|
|||
#define TAG "main"
|
|||
using namespace iflytop; |
|||
using namespace std; |
|||
using namespace iflytop; |
|||
|
|||
extern void umain(); |
|||
extern "C" { |
|||
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() { |
|||
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