From 77496c7be71276dcf6428547c7701026c79b31e1 Mon Sep 17 00:00:00 2001 From: eddyem Date: Thu, 30 Jan 2020 11:06:05 +0300 Subject: [PATCH] replace old files --- STM32/2sensors_logging/tsys01.bin | Bin STM32/TSYS_controller/proto.c | 8 +- STM32/TSYS_controller/proto.h | 1 + STM32/TSYS_controller/tsys01.bin | Bin 20396 -> 20400 bytes STM32/TSYS_controller/tsys01.c.tags | 4597 ---------------------- STM32/TSYS_controller/tsys01.geany | 44 - STM32/TSYS_controller/usb_lib.c | 6 +- STM32/Tcalc/tsys01.bin | Bin STM32/Tcalc_screen/tsys01.bin | Bin STM32/Tcalc_screen_ver2/tcalc_screen.bin | Bin STM32/inc/F0/stm32f0.h | 46 +- STM32/inc/gen042 | 0 STM32/src4multiplexer/tsys01.bin | Bin src/netdaemon/main.c | 4 +- src/netdaemon/plot | 0 15 files changed, 41 insertions(+), 4665 deletions(-) mode change 100755 => 100644 STM32/2sensors_logging/tsys01.bin delete mode 100644 STM32/TSYS_controller/tsys01.c.tags delete mode 100644 STM32/TSYS_controller/tsys01.geany mode change 100755 => 100644 STM32/Tcalc/tsys01.bin mode change 100755 => 100644 STM32/Tcalc_screen/tsys01.bin mode change 100755 => 100644 STM32/Tcalc_screen_ver2/tcalc_screen.bin mode change 100755 => 100644 STM32/inc/gen042 mode change 100755 => 100644 STM32/src4multiplexer/tsys01.bin mode change 100755 => 100644 src/netdaemon/plot diff --git a/STM32/2sensors_logging/tsys01.bin b/STM32/2sensors_logging/tsys01.bin old mode 100755 new mode 100644 diff --git a/STM32/TSYS_controller/proto.c b/STM32/TSYS_controller/proto.c index 047bda0..0466e61 100644 --- a/STM32/TSYS_controller/proto.c +++ b/STM32/TSYS_controller/proto.c @@ -35,7 +35,13 @@ extern volatile uint8_t canerror; static char buff[UARTBUFSZ+1], *bptr = buff; static uint8_t blen = 0, USBcmd = 0; // LEDs are OFF by default -uint8_t noLED = 1; +uint8_t noLED = +#ifdef EBUG + 0 +#else + 1 +#endif +; void sendbuf(){ IWDG->KR = IWDG_REFRESH; diff --git a/STM32/TSYS_controller/proto.h b/STM32/TSYS_controller/proto.h index 5b9f47b..f0b6b3a 100644 --- a/STM32/TSYS_controller/proto.h +++ b/STM32/TSYS_controller/proto.h @@ -25,6 +25,7 @@ #define __PROTO_H__ #include "stm32f0.h" +#include "hardware.h" // macro for static strings #define SEND(str) do{addtobuf(str);}while(0) diff --git a/STM32/TSYS_controller/tsys01.bin b/STM32/TSYS_controller/tsys01.bin index 634d0def8135b8444d7b2289d4ac15b89c86c77a..3e2e48e2423536b9026ebbbcc670a93854437f2a 100755 GIT binary patch delta 3749 zcmai1YjjlA72fC0B;3Sg2q6i{WJu-_V3LV3A|j7~Lqdm;@Q4_ZM+#9;$EvJ}tJ>fa z6O<|qt%vW5b6Vv&L|?rECtKTMNIK(sdrwP)9;Ll%hmqqk8k!q z-`THw-t*Ek?7%Z@OO=u`a_h`8WvgTBnweW0%sB-PQa|R6U`~%u;c3q4xza-RN^4f1zftxOU+VnKLSTfzFJe7KyxQet z3ctm5W6D$LAb!a8E3~JU?93icNUO=)ehYaAYI%RjedxSSol!1~`NHh}He~zj7T(n%|K=MuMY_0!XS62Ev_K_SmX;W z(^DNB|Iy1H7VPz$4n2xEo8tb~-YGRj9kVJcN&iPY-A?+MIDaXv+$@Z3ao(3^wUPcr zAP5kRt_u4`wzlQY3lc{fs*TY6h+N@04G{x^&yLZUu z{-n+I@flh*tiFl)TPrJjI;l;si+`6)Fcb8-m`pG$={)l%305SXuZ~ZyJ)up8U2xc4 z_atrIuq{U-TTMwPl~4anMwuOdM=OWzn?Ks-CT+9h=UYj?I{vzrT1vsT@B16^H7bTO zS&wdtuSA=YMy{koH0D`*=a0cdy{oG)wyF?LL2u>rIp562$YF1N3)CjD%z zr1KyqczALf=8}4mkv$7i&aN?n=zi!M=2D)z1WEvC1^hrWu$g~#Sus1y(=r~(kxOC# z&Nd*pNr>|g3$eB5982YUn2YclUO&_`Z%L`LH%BQ3U665^B_)An6$08~2@xfGgUQifkW27I9o7{g4(N6L_A0qwI zAafCaRuis#FS(dwdgBx#eO2UH&0b&FN*+_F-L=eD$oNgdI2~cGv2~*Zy_yZ*vp#%E zD}-DZZWy6ip{xz_y8Mc&y%=FRNXL&8-EafZmzWc|2T8#QW3=U-m)lxknodHVf&CF6 z2=J<`GHkXl63iVA*7$7AzUkY5_9pt@P6=u>q6Fg&7iNXi@#8Krgrr#DGQD5Yr-rC{YHTxW5 zCQC%wGLVd`^7W&xNRcg-caNHzb#ai*sJyZ?V5f8k({CE&mh45@lNOMwcc;>O^$#5= z2rxYs=XYnXz`=AP{A#T*{*B3>5f;XFk&dOXK%CY{Pm6u5k#j%JfDl^8V?3U1Hz$k- z65KvIzwLvF*}XrsxDv}qyr8vrraFXi7~JmAB5;$$E^rLo8{l??8o-r_ZQxAc{sfMK zPiPCl7K_Kgrh(m^WH)FFz~+c{umpB{l3lCK1Dhu9K}GHL?X_0^`smEIN0NQFX>-wM zBv!#=1U&9fvQ1ho*nz|nu$f?6lI(Tb9I$5-^TB3-y*0`DG#}VgiE6Ma*yTxfx;7i^ zvBWiCQ@}PP*-EV%Y)_(GYhT%E2K}=nJx-eix;x>}_S#=|w39HVCiw!*3w~cB7eRVq zU6Euh+Dx#&Po!(}G5EFw=@YU3(Z=B4lMww_bH0oTZ7s^~)Wc89UUUFsun~%k^TS&J6PA+?+OH^hLMySE64@Y{bDN zjKtvT>aR7qbcT-zxp->pNtFi@)scD*kOx&cR*l>NHuO~im4Ms{C6ID=#9?QKo&n?l zm(VV%*Smeb4j*$Z^qunU;D__C$r8r~(+&LlU^t9&8+u?P!7CCs$MY}5?jNeB2%>{0oFxDgHS3%|~YvtaX zTSwP?)~RVS$N=Nd7fdS>#$p(x22IYieO{k1y3iVl5~Myi$`b{RV|pSDK1IJaLC&f5 zOy4J_)=9aC-)=3nITOo$R{wH8(;pK~@?eLKiYq%zJDL8F;QOs5#Q{NE*w&N|ML#r1 zP8%F=6SRZD;GZ$3f55-BUg416CQFisw){qUXnUc1Pk%3ZcJ{DlKC7@$u`<4*a9M8E zkg*(Dyh2*#VQt|b6uOv&e_MEC?r^XI*h!o7kQV-P+xl!_d=kcR1r;aT=f((6ig4YQ zkK6z4FwYok%lu(fkQN>r`PE}5q{!K|@SDc|ChNnfd!sOJh@I<{tIreTiLn)iqAS(>m^Aq&%I__zY6?bkQKP&pg>f{x5*_bGW$p{n8PE?!$=S7Hr;j}E z^e(S1?7ZB*6T|*m^ewGw=neFuFMP1aCzDtKIY6=|nGEkNOYv@Hyx^}Em$S9}Z1EVy zBzUy=@hZH>>{Bp~@_0T6Q#k}F`J_rW8LG69)J*irkTP7yG@^B5NNs@)&zexONC&wQ z=es=P0AY)_7TN&|5mHkDS)#bYhf-Yhq=B+12_2|N5GO=B8$=U#UUh=B$H? zJ&p@Ms%0V3W`#dI!Ivsko$(JRyrzKJ=+GR`k$G-e-%hxoe?K@+Ye=phqdmN^Ce55@Vm%%djK zEBGqQxQV1^#nR_{UF0MOJ&jkhuExkkPkYgpZ#ouZE?3}l?L)-5%Sq}h4*sTP3F54a z@w}1K6vSOL@@BLLV*Jk|%b|>q^YbGo*<}I4CxtA4n#e1Q=>x=DLhvK(sk|K2E%1(( zo%Tw|X7cu#_!{LtrO(uLLFrZMn#@1gOOuoE#cP%1hnG}L@e`0^5XJb9w^Tky9LQsqcAD|2VL9CFSD?Qu07Kx zSlVrImhm^{F6Z+WENN5oNUg|0Ik}|v0!IMZ-ajNeARh$o1Qri*wU85sbQ@$U@Ev@l z-{(V8>Jmr)t3Aw1xh;oQC5^TW8Eu4o5V#Xa$3FB!UPOThfW5$zL&e@ZBxR5_&~F76 z169Bz;HOE7^18mSTWoUQTZAIVVrC$B0cU^&kX=mbY{&qBbx8cZ1zvu<_5h!^(2M_a XOzct^$wwK(!;ZngE3Mv^no9ox`DIT$ delta 3759 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 #include // memcpy +#ifdef EBUG +#undef EBUG +#endif + ep_t endpoints[ENDPOINTS_NUM]; static usb_dev_t USB_Dev; @@ -333,7 +337,7 @@ static uint16_t EP0_Handler(ep_t ep){ } }else if (ep.rx_flag){ // got data over EP0 or host acknowlegement if(ep.rx_cnt){ -// EP_WriteIRQ(0, (uint8_t *)0, 0); + EP_WriteIRQ(0, (uint8_t *)0, 0); if(setup_packet.bRequest == SET_LINE_CODING){ //WRITEDUMP("SET_LINE_CODING"); linecoding_handler((usb_LineCoding*)ep0databuf); diff --git a/STM32/Tcalc/tsys01.bin b/STM32/Tcalc/tsys01.bin old mode 100755 new mode 100644 diff --git a/STM32/Tcalc_screen/tsys01.bin b/STM32/Tcalc_screen/tsys01.bin old mode 100755 new mode 100644 diff --git a/STM32/Tcalc_screen_ver2/tcalc_screen.bin b/STM32/Tcalc_screen_ver2/tcalc_screen.bin old mode 100755 new mode 100644 diff --git a/STM32/inc/F0/stm32f0.h b/STM32/inc/F0/stm32f0.h index ada8bd6..4970cc7 100644 --- a/STM32/inc/F0/stm32f0.h +++ b/STM32/inc/F0/stm32f0.h @@ -105,34 +105,33 @@ TRUE_INLINE void sysreset(void){ /* Wait till PLL is used as system clock source */ while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL){} } - +/* wrong TRUE_INLINE void StartHSE(){ // disable PLL RCC->CR &= ~RCC_CR_PLLON; RCC->CR |= RCC_CR_HSEON; - while ((RCC->CIR & RCC_CIR_HSERDYF) != 0); + while ((RCC->CIR & RCC_CIR_HSERDYF) == 0); RCC->CIR |= RCC_CIR_HSERDYC; // clear rdy flag - /* PLL configuration = (HSE) * 12 = ~48 MHz */ + // PLL configuration = (HSE) * 12 = ~48 MHz RCC->CFGR &= ~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL); RCC->CFGR |= RCC_CFGR_PLLSRC_HSE_PREDIV | RCC_CFGR_PLLMUL12; RCC->CR |= RCC_CR_PLLON; while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL){} -} +} */ -#if !defined (STM32F030x4) && !defined (STM32F030x6) && !defined (STM32F030x8) && !defined (STM32F031x6) && !defined (STM32F038xx) && !defined (STM32F030xC) +#if defined (STM32F042x6) || defined (STM32F072xb) TRUE_INLINE void StartHSI48(){ - // disable PLL - RCC->CR &= ~RCC_CR_PLLON; - RCC->CR2 &= RCC_CR2_HSI48ON; // turn on HSI48 - while((RCC->CR2 & RCC_CR2_HSI48RDY) == 0); - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL)); - // HSI48/2 * 2 = HSI48 - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI48_PREDIV | RCC_CFGR_PLLMUL2); - RCC->CR |= RCC_CR_PLLON; - // select HSI48 as system clock source - RCC->CFGR &= ~RCC_CFGR_SW; - RCC->CFGR |= RCC_CFGR_SW_HSI48; - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_HSI48){} + RCC->APB1ENR |= RCC_APB1ENR_CRSEN | RCC_APB1ENR_USBEN; // enable CRS (hsi48 sync) & USB + RCC->CFGR3 &= ~RCC_CFGR3_USBSW; // reset USB + RCC->CR2 |= RCC_CR2_HSI48ON; // turn ON HSI48 + uint32_t tmout = 16000000; + while(!(RCC->CR2 & RCC_CR2_HSI48RDY)){if(--tmout == 0) break;} + FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY; + CRS->CFGR &= ~CRS_CFGR_SYNCSRC; + CRS->CFGR |= CRS_CFGR_SYNCSRC_1; // USB SOF selected as sync source + CRS->CR |= CRS_CR_AUTOTRIMEN; // enable auto trim + CRS->CR |= CRS_CR_CEN; // enable freq counter & block CRS->CFGR as read-only + RCC->CFGR |= RCC_CFGR_SW; } #endif @@ -200,14 +199,15 @@ TRUE_INLINE void StartHSI48(){ /************************* ADC *************************/ /* inner termometer calibration values - * Temp = (Vsense - V30)/Avg_Slope + 30 - * Avg_Slope = (V110 - V30) / (110 - 30) + * Temp = (V30 - Vsense)/Avg_Slope + 30 + * Avg_Slope = (V30 - V110) / (110 - 30) */ #define TEMP110_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FFFF7C2)) #define TEMP30_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FFFF7B8)) // VDDA_Actual = 3.3V * VREFINT_CAL / average vref value #define VREFINT_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FFFF7BA)) - +#define VDD_CALIB ((uint16_t) (330)) +#define VDD_APPLI ((uint16_t) (300)) /************************* USART *************************/ @@ -215,6 +215,12 @@ TRUE_INLINE void StartHSI48(){ // set address/character match value #define USART_CR2_ADD_VAL(x) ((x) << USART_CR2_ADD_SHIFT) +/************************* IWDG *************************/ +#define IWDG_REFRESH (uint32_t)(0x0000AAAA) +#define IWDG_WRITE_ACCESS (uint32_t)(0x00005555) +#define IWDG_START (uint32_t)(0x0000CCCC) + + //#define do{}while(0) diff --git a/STM32/inc/gen042 b/STM32/inc/gen042 old mode 100755 new mode 100644 diff --git a/STM32/src4multiplexer/tsys01.bin b/STM32/src4multiplexer/tsys01.bin old mode 100755 new mode 100644 diff --git a/src/netdaemon/main.c b/src/netdaemon/main.c index 3f348c9..03d22ff 100644 --- a/src/netdaemon/main.c +++ b/src/netdaemon/main.c @@ -72,8 +72,6 @@ static void logT(_U_ int signo){ int main(int argc, char **argv){ initial_setup(); G = parse_args(argc, argv); - if(G->rest_pars_num) - openlogfile(G->rest_pars[0]); if(G->makegraphs && !G->savepath){ ERRX(_("Point the path to graphical files")); } @@ -95,6 +93,8 @@ int main(int argc, char **argv){ return 1; } if(runningproc) ERRX("Found running process, pid=%d.", runningproc); + if(G->rest_pars_num) + openlogfile(G->rest_pars[0]); // ignore almost all possible signals for(int sig = 0; sig < 256; ++sig) signal(sig, repsig); signal(SIGTERM, signals); // kill (-15) - quit diff --git a/src/netdaemon/plot b/src/netdaemon/plot old mode 100755 new mode 100644