Browse Source

update

master
zhaohe 1 year ago
parent
commit
ad457de8fa
  1. 2
      chip/basic/basic_h/pin.hpp
  2. 18
      chip/basic/chip_helper.cpp
  3. 1
      components/step_motor_ctrl_module/step_motor_ctrl_module.cpp
  4. 22
      components/zcancmder/zcan_protocol_parser.cpp
  5. 3
      components/zcancmder/zcan_protocol_parser.hpp

2
chip/basic/basic_h/pin.hpp

@ -117,5 +117,5 @@ typedef enum {
} Pin_t;
namespace iflytop {
const char* pinname(Pin_t pin);
const char* pinname(Pin_t pin);
}

18
chip/basic/chip_helper.cpp

@ -21,38 +21,38 @@ GPIO_TypeDef* chip_get_gpio(Pin_t pin) {
int port = pin >> 4;
switch (port) {
case 1:
case (PA0 >> 4):
#ifdef GPIOA
return GPIOA;
#endif
break;
case 2:
case (PB0 >> 4):
#ifdef GPIOB
return GPIOB;
#endif
break;
case 3:
case (PC0 >> 4):
#ifdef GPIOC
return GPIOC;
#endif
break;
case 4:
case (PD0 >> 4):
#ifdef GPIOD
return GPIOD;
#endif
break;
case 5:
case (PE0 >> 4):
#ifdef GPIOE
return GPIOE;
#endif
break;
case 6:
case (PF0 >> 4):
#ifdef GPIOF
return GPIOF;
#endif
break;
case 7:
case (PG0 >> 4):
#ifdef GPIOG
return GPIOG;
#endif
@ -408,8 +408,8 @@ bool chip_calculate_prescaler_and_autoreload_by_expect_freq(uint32_t timerInClk,
int psc_x_arr_real = arr * psc;
float realfreq = timerInClk / psc_x_arr_real;
arr = arr - 1;
psc = psc - 1;
arr = arr - 1;
psc = psc - 1;
// uint16_t comparevalue = 50 / 100.0 * arr;
*prescaler = psc;

1
components/step_motor_ctrl_module/step_motor_ctrl_module.cpp

@ -214,6 +214,7 @@ int32_t StepMotorCtrlModule::step_motor_read_io_index_in_stm32(int32_t ioindex,
if (ioindex < 0 || ioindex >= m_nio) {
return err::kstep_motor_ioindex_out_of_range;
}
*index_in_stm32 = m_iotable[ioindex].getPin();
return 0;
}

22
components/zcancmder/zcan_protocol_parser.cpp

@ -42,6 +42,7 @@ void ZCanProtocolParser::initialize(IZCanReceiver* cancmder) {
REGFN(step_motor_read_tmc4361a_state);
REGFN(step_motor_read_tmc2160_status);
REGFN(step_motor_read_tmc2160_state);
REGFN(step_motor_read_io_index_in_stm32);
REGFN(mini_servo_enable);
REGFN(mini_servo_read_pos);
@ -57,6 +58,8 @@ void ZCanProtocolParser::initialize(IZCanReceiver* cancmder) {
REGFN(board_read_ext_io);
REGFN(board_write_ext_io);
REGFN(board_read_muti_io);
REGFN(board_read_inio_index_in_stm32);
REGFN(board_read_outio_index_in_stm32);
REGFN(code_scaner_start_scan);
REGFN(code_scaner_stop_scan);
@ -311,6 +314,12 @@ int32_t ZCanProtocolParser::step_motor_read_tmc2160_state(cmdcontxt_t* cxt) {
cxt->acklen = 4;
return module->step_motor_read_tmc2160_state(&ack[0]);
}
int32_t ZCanProtocolParser::step_motor_read_io_index_in_stm32(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(1);
int32_t* ack = (int32_t*)cxt->ackbuf;
cxt->acklen = 4;
return module->step_motor_read_io_index_in_stm32(cxt->params[0], ack);
}
#undef MODULE_CLASS
#define MODULE_CLASS ZIMiniServo
@ -390,6 +399,19 @@ int32_t ZCanProtocolParser::board_read_muti_io(cmdcontxt_t* cxt) {
return module->board_read_muti_io(ack);
}
int32_t ZCanProtocolParser::board_read_inio_index_in_stm32(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(1);
int32_t* ack = (int32_t*)cxt->ackbuf;
cxt->acklen = 4;
return module->board_read_inio_index_in_stm32(cxt->params[0], ack);
}
int32_t ZCanProtocolParser::board_read_outio_index_in_stm32(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(1);
int32_t* ack = (int32_t*)cxt->ackbuf;
cxt->acklen = 4;
return module->board_read_outio_index_in_stm32(cxt->params[0], ack);
}
#undef MODULE_CLASS
/***********************************************************************************************************************

3
components/zcancmder/zcan_protocol_parser.hpp

@ -75,6 +75,7 @@ class ZCanProtocolParser : public IZCanReceiverListener {
static int32_t step_motor_read_tmc4361a_state(cmdcontxt_t* cxt);
static int32_t step_motor_read_tmc2160_status(cmdcontxt_t* cxt);
static int32_t step_motor_read_tmc2160_state(cmdcontxt_t* cxt);
static int32_t step_motor_read_io_index_in_stm32(cmdcontxt_t* cxt);
static int32_t mini_servo_enable(cmdcontxt_t* cxt);
static int32_t mini_servo_read_pos(cmdcontxt_t* cxt);
@ -90,6 +91,8 @@ class ZCanProtocolParser : public IZCanReceiverListener {
static int32_t board_read_ext_io(cmdcontxt_t* cxt);
static int32_t board_write_ext_io(cmdcontxt_t* cxt);
static int32_t board_read_muti_io(cmdcontxt_t* cxt);
static int32_t board_read_inio_index_in_stm32(cmdcontxt_t* cxt);
static int32_t board_read_outio_index_in_stm32(cmdcontxt_t* cxt);
static int32_t code_scaner_start_scan(cmdcontxt_t* cxt);
static int32_t code_scaner_stop_scan(cmdcontxt_t* cxt);

Loading…
Cancel
Save