Oh, fucking shit! It's seems like it's works!!!

This commit is contained in:
Edward Emelianov 2023-03-02 21:49:32 +03:00
parent bbcc4f18f4
commit 64aac0d9fa
6 changed files with 14 additions and 9 deletions

View File

@ -236,6 +236,7 @@ errcodes cu_mcuvdd(uint8_t par, int32_t *val){
errcodes cu_microsteps(uint8_t _U_ par, int32_t _U_ *val){ errcodes cu_microsteps(uint8_t _U_ par, int32_t _U_ *val){
uint8_t n; CHECKN(n, par); uint8_t n; CHECKN(n, par);
USB_sendstr("===> val="); printi(*val); newline();
if(ISSETTER(par)){ if(ISSETTER(par)){
#if MICROSTEPSMAX > 512 #if MICROSTEPSMAX > 512
#error "Change the code anywhere!" #error "Change the code anywhere!"
@ -270,7 +271,7 @@ errcodes cu_minspeed(uint8_t _U_ par, int32_t _U_ *val){
errcodes cu_motcurrent(uint8_t par, int32_t *val){ errcodes cu_motcurrent(uint8_t par, int32_t *val){
uint8_t n; CHECKN(n, par); uint8_t n; CHECKN(n, par);
if(ISSETTER(par)){ if(ISSETTER(par)){
if(*val < 1 || *val > 32) return ERR_BADVAL; if(*val < 0 || *val > 31) return ERR_BADVAL;
the_conf.motcurrent[n] = *val; the_conf.motcurrent[n] = *val;
motflags_t *f = the_conf.motflags; motflags_t *f = the_conf.motflags;
if(f->drvtype == DRVTYPE_UART){ if(f->drvtype == DRVTYPE_UART){

View File

@ -51,10 +51,6 @@ int main(void){
adc_setup(); adc_setup();
pdnuart_setup(); pdnuart_setup();
USBPU_ON(); USBPU_ON();
for(int i = 0; i < MOTORSNO; ++i){
motflags_t flag = the_conf.motflags[i];
if(flag.drvtype == DRVTYPE_UART) pdnuart_init(i);
}
uint32_t ctr = 0; uint32_t ctr = 0;
CAN_message *can_mesg; CAN_message *can_mesg;
while(1){ while(1){

View File

@ -120,8 +120,8 @@ int pdnuart_readreg(uint8_t reg, uint32_t *data){
} }
uint32_t o = 0; uint32_t o = 0;
for(int i = 3; i < 7; ++i){ for(int i = 3; i < 7; ++i){
o |= buf[i];
o <<= 8; o <<= 8;
o |= buf[i];
} }
*data = o; *data = o;
return TRUE; return TRUE;
@ -165,7 +165,7 @@ int pdnuart_microsteps(uint8_t no, uint32_t val){
TMC2209_chopconf_reg_t regval; TMC2209_chopconf_reg_t regval;
if(!readregister(no, TMC2209Reg_CHOPCONF, &regval.value)) return FALSE; if(!readregister(no, TMC2209Reg_CHOPCONF, &regval.value)) return FALSE;
if(val == 256) regval.mres = 0; if(val == 256) regval.mres = 0;
else regval.mres = MSB(val) + 1; else regval.mres = 8 - MSB(val);
return writeregister(no, TMC2209Reg_CHOPCONF, regval.value); return writeregister(no, TMC2209Reg_CHOPCONF, regval.value);
} }

View File

@ -18,6 +18,7 @@
#include "flash.h" #include "flash.h"
#include "hardware.h" #include "hardware.h"
#include "pdnuart.h"
#include "proto.h" #include "proto.h"
#include "steppers.h" #include "steppers.h"
#include "strfunc.h" #include "strfunc.h"
@ -82,6 +83,13 @@ void update_stepper(uint8_t i){
accdecsteps[i] = (the_conf.maxspd[i] * the_conf.maxspd[i]) / the_conf.accel[i] / 2; accdecsteps[i] = (the_conf.maxspd[i] * the_conf.maxspd[i]) / the_conf.accel[i] / 2;
ustepsshift[i] = MSB(the_conf.microsteps[i]); ustepsshift[i] = MSB(the_conf.microsteps[i]);
ESW_reaction[i] = the_conf.ESW_reaction[i]; ESW_reaction[i] = the_conf.ESW_reaction[i];
switch(the_conf.motflags[i].drvtype){
case DRVTYPE_UART:
pdnuart_init(i);
break;
default:
break;
}
} }
// run this function after each steppers parameters changing // run this function after each steppers parameters changing

View File

@ -1,2 +1,2 @@
#define BUILD_NUMBER "95" #define BUILD_NUMBER "104"
#define BUILD_DATE "2023-03-01" #define BUILD_DATE "2023-03-02"