From dbceed1d2cf34f2c9ddd2a2364fad0ebb9a487f9 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 13:35:18 +0100 Subject: [PATCH] Lauffaehig, aber unzuverlaessig --- B15F.elf | Bin 13804 -> 13936 bytes B15F.hex | 199 +++++++++++++++++++++++++----------------------- global_vars.cpp | 1 - global_vars.h | 2 - requests.cpp | 25 +++--- usart.cpp | 46 ++++++++++- usart.h | 4 +- 7 files changed, 160 insertions(+), 117 deletions(-) diff --git a/B15F.elf b/B15F.elf index 01e941a7a47711c376a23d790eb8a80c77c1bd71..ef11c2d7d565cdf03bb87b7283f239d4935e3c93 100644 GIT binary patch delta 3086 zcmai$3s6*57{|}OcP|fFU_n78jRiK>7cAgzg_eV4Rt}jG%`gs=;DgqYV8U@qDi%qj zl62R*Yu5PaVWy7bBP<~3((-C*>DU0GC4P?rI{I{Ph^bo_&9t!!HjEE^qJ_=7ey-d>+&rlT0r3~{j5LcIEL=T5AicynEPT{S*Qw~^w-WqIM6*9GO4`DG#P-Q${fXtK28;iplfX9J#V) zkzpy6z4ELpa}yV*Yua9DS3BOdH{M-g_sW4lb6~WiF~qk&*|;jG?=GpPO@WXiV={L0?h~iW)BC>Yhd{EK-?ODxcvtC+-Mg|UY)QqJ`gNA#;1NRH>KhYVWpiP4P_d-xkX6 z^;*%$a>RW$V5@P9#@qyx3;ow{=%B7 z+8j5_n=o-g{zPXkd$zL9nqOee&&?}f(o%C?>ke~83iq`XpV^aeJyAYoSADXKR%nxF0gvuAdL!ue$ zR(SyY9sCniP8OJlJt{C(q$+aI*C#L$Os_RH3+oFNgWJNWBvb}=q7u|BOki^j@iky( zQp`&H3h;PJ5-LjACwT6kaD!ohZD4Ies>p8ed#J9q!VYjI5}=|bA%P#jPh&z9L76}X z>lbtlY==L76#qUCdL;-bQ3GPp*9W8+IK#l>!50xrTWH~VHVMqwG7`|4lw|hnjzhU( zSIn^U%u@x0e!@C1t%#Zh>v|KM8pGJ{U@BPv{2-Rssq!|k)~G@U!20nz419|G)fjB4 zC-gVKggvGMODh-v*XT-|Br>)a8>XF+F<||nd<3lD(xirvGr*P)24SYXZMpj%-JSihnVz^T~q8g+utz&S|JrgAG-YgQcEHbeYzJ$sPh zj}#CoN$4i{vaSNL$X1^~3T4kl4$&}!-Dcoia5u)Bj%lbOkApX3KDt;QQWQg>opL%9 zv%z%t$${)O275g?R0ty)t*{AP0{>z#`TN1kQK79We*unEm}5J^JQA3O`IUgz0Fira zV#na1U-4=130+10G}xcQBa=$mqFJ%W{jeXz&6)I6`I~Ue4Lk0m_5Vw!t+x~N?ldeOBTCZKhN&vQdCtz-Ga*bMb)+Q7CkxB z?QUJ;_>gaP=Kst|W~YVQDUEcFqrXVgota#h^s>_q8F1RMS5ljElvo(g*cvIxHCP&e zcefPpvWs^fz%7Bf8dt6z=TE;O}j-0hd HJ4x*yKZ59j delta 2923 zcmai$3v5(H6ozN+-b)v{Y#*dxvDjr>T1uraS{~IXmP!yycm$IYBy@q)%BzAgrXbzc zB7}f+m)Tl{TEGw~#0R=Wz!WG_8&G5`X@W7vE~Qb#YN;p~(bWIU-pgJ#5(nQSSWuuh)r1VSKrTW{HYE`T0tr6|Q6*a=WW$^ES zwV}q_#$H3OOmr}#|AO8pkFD3l72Y^-o3$|(_MUF?xWo7G)R^2cJ)>?$xo&v9Mih_9 zXTUU*KGx1C{L=n~F~uoEe_tU^Mvb!4P|}L7s4eM70!AcfIiCs)K&B}3y5+I%Z?lU=RIuDMFdH1YcfAg|YD%Kz;Ziolf$ zxdfUx$@?N5AhskVeMTKgZzxsiKI!>WnK+`H?x z)vdfsO?BI!sZ-kOAHQ;=rJ*=@idQam&kargmZdiCW+28B`qS+Vc$2*`-a${lr`r?o zoc4U^+3TtISR3ralgH46#lMBq=?#eL=!Nvex}x)nE^BsrU;(?&uU>%Mr=EvwR68Jd zs%IfLs%?-J>Pg7O>Zg!X)MJoo>QTrpRm`%LkLAlMUF%mozqY(GtAgcBEu557n4iz) zxYj%JraAI*a;J%aEtfO@pv{%Q%Y@6>KXxSQhb$wg8fQ>9hJ%O7`oY;3^efh-BrBgq zi(M(z@ky}6Lm7_}vzh%JD#c#nghN&P_bG= z$YR0GV6*)Y_#7%%7JMl7Dew-=m85egI4_E^>pEWte+>VTIx`DnQ}Gq)oMd6{dnOnU zBUMjov20+l5PT|xGNGB^e5{;WETYW=n-hE%%v5QX<6i_nj3n?^ChU&z-)?c=8=w&m z#)PyZ&EQ*B#?tfvey|e>(5A&9ffL|am~fbGzX&!b^es3Y{`isp-RLZU{{r3rc4S5t z7|j7w|PgMwB>Ef(uq1#Urr zJ}{lJ+Z2Fy#1j!(5@q=YYlJHtEbW2<+@ zOLQLgRy?Jd`UF?Osiqyf22R2qvFrAKz!Ob&3*yoL$T;c`-X&*mgC|Kv=$+cg0eWh5 zX5&l=&@IjcoA1n&2%Z5xj2$!T!XoenBwU1ew1Y1h{+M5`uoeo+h#Eb^o!}CzzzL=S z2f*e+bHWG!JMG}-U@9`yDBouSN`okvobtf>= 1; + } + + if(k < len) + ptr[k] = next; + } + + if(crc == 0) + { + writeByte(MSG_OK); + return; + } + + writeByte(MSG_FAIL); +} diff --git a/usart.h b/usart.h index 81a43c1..ade6b77 100644 --- a/usart.h +++ b/usart.h @@ -5,13 +5,14 @@ #include #include -constexpr uint32_t BAUDRATE = 38400; // 38400 +constexpr uint32_t BAUDRATE = 115200; // 38400 constexpr uint8_t CRC7_POLY = 0x91; class USART { public: void init(void); + void flush(void); void writeByte(uint8_t); void writeInt(uint16_t); @@ -21,6 +22,7 @@ public: uint8_t readByte(void); uint16_t readInt(void); uint32_t readLong(void); + void readBlock(uint8_t*, uint8_t); constexpr static uint8_t MSG_OK = 0xFF; constexpr static uint8_t MSG_FAIL = 0xFE;