//#define DTA2 #ifdef DTA2 int device=2; #else int device=1; #endif #define TEST1 //#define TEST #include #include #include "pico/stdlib.h" #include "pico/multicore.h" #include "hardware/spi.h" #include "hardware/watchdog.h" #include "program_defines.h" String ids="DTA_board"; struct program_t{ double paramdata; int param; }; struct program_t lastp={1e30,SHOLD}, program_s[PROGRAMSIZE]; struct program_t curprogram={1e30,SHOLD}; double tempzero=0; double tempslope=1; double tempparab=0; double pa=0.6; double pb=0; double pc=0; double q0=1; int inttime=20; double rfilter=0.001; double rfiltert=0.001; double t1_zero=0.0; double t2_zero=0.0; double t1_slope=1.0; double t2_slope=1.0; double dt_zero=0.0; double dt_slope=1.0; boolean testb=false; int spinlock_num_count ; spin_lock_t *spinlock_count ; #include "utils.h" #include "ad_da.h" #include "read_save.h" #include "period.h" void setup() { int i; Serial.begin(115200); Serial.setTimeout(100); delay(200); initdevice(); start_littlefs(); read_name(); read_params(); t_onestep=micros(); delay(10); spinlock_num_count = spin_lock_claim_unused(true) ; spinlock_count = spin_lock_init(spinlock_num_count) ; spi_start(); r_da(0, 0.0); setchannel(3); setgain(0); filter[0]=1; filter[1]=1; filter[2]=1; filter[3]=1; } //void setup1() //{ //while (power_enabled==0) //delay(10); //spi_start(); //r_da(0, 0.0); //setchannel(3); //setgain(0); //} void loop() { time_onestep(); onestep(); main_step(); get_ads(); sleep_us(10); } //void loop1() //{ //get_ads(); //sleep_us(1000); //}