From 144bcab06ca30960fb7a4b0b2727e30ea48c9424 Mon Sep 17 00:00:00 2001 From: Jake Read <jake.read@cba.mit.edu> Date: Thu, 7 Dec 2017 20:31:27 -0500 Subject: [PATCH] packet looping --- .../.vs/atsams70-tinyrouter/v14/.atsuo | Bin 79360 -> 97280 bytes .../atsams70-tinyrouter/Debug/Makefile | 20 ++--- .../Debug/atsams70-tinyrouter.bin | Bin 8592 -> 8664 bytes .../atsams70-tinyrouter/src/main.c | 48 ++++++------ .../atsams70-tinyrouter/src/node.h | 5 ++ .../atsams70-tinyrouter/src/packet.c | 1 + .../atsams70-tinyrouter/src/packet_handling.c | 7 +- .../atsams70-tinyrouter/src/packet_handling.h | 2 +- .../atsams70-tinyrouter/src/tinyport.c | 1 + js/serialserver.js | 3 + js/serialterminal.js | 70 ++++++++++++++++++ 11 files changed, 119 insertions(+), 38 deletions(-) create mode 100644 js/serialterminal.js diff --git a/embedded/atsams70-tinyrouter/.vs/atsams70-tinyrouter/v14/.atsuo b/embedded/atsams70-tinyrouter/.vs/atsams70-tinyrouter/v14/.atsuo index b7969d22e345530db6e335273301e2d407f90dc7..edbe47cf14888b7b780a959c3b96a96b3d0fc492 100644 GIT binary patch delta 12226 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 Vf!0(BFfcrt7^p6QE;%uA0|1q2+)Dre delta 3373 zcmZqp!P@YKWrD%v59OQ^0t^h?3=9m+3=9na{{R2az`(%3$iTp$wlPqeiBDn8L*GgH zml=&27#JKJCs#35F@B!>mFXNOg9-x!gE#{N!(<0T4c<-$28JLWkX8l;_Q{Ma()Icb z3=IFFK#qZdfenc-3AG9&EzH2cz|X+IpbM1;IRPXt!N9<v$-uxM#K6EH&A`B*2$k1n zU|`^5U|=v{U|^7EU|^7CU|<ksU|>*(%5yO=F#P@hKkdIDR6vV?fkBUffkB6Xfx()A zfkA<Rfk74Ob|t79kcB1;3=F0W3=C!r3=HNB3=9?w3=EbG3=C3GH8u<k47Lmm40a3* z3>~1*U|?WyoXp57%;+{*l+~U$0;&#VR@}ruao$8Ef%J)i;*;mFUf{cMaGN3`JU3S{ zc`~8~Wj%6Gg3JP84v44zg93*I$yiVzgF;<{fq{V)8jzrX<AesV3<CoLD1bp`h#{E) z3ImWBD1bpUEPw?W80r~7Aq)}(MKE#*gTz1q1`1&i8-zhIfgZphaZmvBA~_T!MqB{% zQxw9S6`Mo2)-X;iaM;A-!N>v%ugN~V4U;`oWH!IxRbXVf1xm3zyf$zt#(xtNr6<4O zkDh#($#8OsKm!{n0{R3e{}MPk`7pEL<S&B$IHiPjHY><1W(3J|?`B|N_yoxTlmCl* zvZ#S<axm1GTq1FvlMxgk>~Imuo<&MblSG_3!TAc5;y}5GZ9fA8!ykspRU&?qPe|yn z9cEx)_`xvwmxvb!C}DyUB}f_Taga@uD@DCIK*0)1r(ogJAj>!Z^gYGM$p8v#P=tdd zCYPA%ZB~-I$2h6TW%3aw1J=tRYo-^bGI~#5V5Ts=A(b%!g)w<Txy<B^ed5#QBN;`e zM<+5WPq)utG}_(}#pu8|`GB~?v}ndnd|9c<CB-o%nR%6YsU^je4~X3neDh#N>aF#y z)1O{{ma%r%3>k)rfx?q79y9}`7zQ?*ywaSUNg@z8fV`?Uxl+W7lL1t;z=HtpXHQN> zknae1ng{G@P;te;z%bocm2uMaiK>ixlMhJU5cuMF+@}2f@p%%3+uV*Xi~Ba&z))iP zCs{^^>5HNnWmrLJW9no@6=lUKNC_1rIt^qN0|Ubh1_p+i3=9kc8v|!EZt`$o6!8CF z8#ehTx7)l4=FLHIA<dH;%T*?q`1^B$i#ic#{DO^UnEX?|UBISWd*an)!K>@bWM}@@ zw&$5H7{zF?`GA50<EEe^jNoVmWgl=feeu(ote~L`@i!>Qz@jA@7bYK(Fqm9YxMs70 zj0PhMsIY{{$cC_h;u*w2PJPo0g&1o$*O;|1Pfo0BnXH*0B$UD6_bB4fi?hEzrOe^G zlm135WU_&wI3wHi1C@*yCQk@p5uD8z#PENYL;XE1u5)o&)1NU+3>0UrP|yfCv-zO4 zJ<}!=XGTs2P>KRo6(AcYmzV}{fa(k*sIMn~G3}Uq-~z|=55kOGoBJG!Sf>YuF{({I zdr|<Lh9<X{t8Z^eVr*c<k+vEbrzJ2RnBJJp7&%=ajB&#BcL9uI)1M?TIxg~InixV# zj46X+Y?4RM^Z*w|k?GI$85M}}>EwfA_M1#x7&$;ejMJZNTNxM_To@<+()FBtSi*2} ziQah#tslSvs;oej8#sWzq{~be&@usKxydD30UV%$8B|L_B(=_SGJp~csE7uOG}N$c z{-GbiBp|}K@zIsz?(T+;+jo?|;LM$DV5m6VNttm8$Ttd;U5$57QfLs!V9;;4kT$#e zUT0Qv_%o;A%@Y&~7$=1|Ly`}u#s!;N5^^3?I!$({WSLwMdYY9HR5eVWkj$tvxg;!r zLjYR4g4D9vGcYhPnNR)|<^?WTKoti_d~!*62n(nN0&%!&7#JAhm_S7h!}S00j0Z83 z_{3~RPqYXms;K*eDC$5F0J05U)OmqC!2!$coBv3AFmizEDR|~7k!@jQ*!;7Yoo)I9 z0Y<6KQZ;5A0&Q=X`!#;fojWabn~9w0&nKuMx!E<^mvyqEnEvL2U8<~;cTIXX`C0#m z$-5>U-JCl`gmH5HwUd+eUu#aTzxHEu`_xZ@)7v;0MWz=qF`nA2|5}J~bLPqe%&efA zlVP*o+DlBEV`eU8+Prkj9@fcv2f5i8{1_M*^ruhfV6@x3VOIe2q7s%x`<ND0Fu~mS zjD6DqJw`!L^8y^23=9WAO%$=o_6HA6Kd8^BI(dPj)Mon_4JO8OlQZJ}PEI{Od(k1L z>5h_&n(Vm@i42(xd6O*?q9!lAXukPimpwE015HS6&&Kd-@`R~-Cmm*+UZB9Jf#i`- zo4=iTz&Lr@l%I?rCQq2^v*-xZ^aD(cH6VX7vTZM9V!X?^dFkRS%vk*js>9?#J~G;D zxb{4fheg4m0QCi^#0Ir5TqgHVJ-#__&jA(@P-=wAGJu*<pme`@$u34l#?6ig7qY5d zfJrhi9C*tBX>x&@HK5`JB$ZbZQ<_*bIq<2}q!TWTqSF}z8LOu&BrzsT{};rl250e2 z_VbjOejt<4gi&}qqXlC!^Y#=$#yL#e@7Oc;aZi7v$0)_9F!`WZ_+-bq`qO`hGKx-T zDq_r>UYE$YXnJfmWA^k9g^WVe_e3zZOn!BedpdU%qtNu49L5ZgioWR%5sV_!YXTXU zgRDrKuA9MF0t#YhRYpNja{oB#*dv7pAm>8xfq&3OHL_18|3CUzdM`u)n7jif85p37 zCY^9$1vRQmraxq6Oq>?Xr~-0WEv6UsSwY!TV0vQ`<LSv4E+|Z1W2?f<z`(JY@q#+z zb~_zLHAaZ%m*25xWSh<y&S(PjnAqg_lk5;<5yk9%RYs1<2jlXlJGd|=Z4Z!R+`u^f zgA$|IWEoe!?F}A`F^rQ9=h{!#%3u@)g~lR~kGljPAAfd7?OmmBQ#MDW_pBS!Std7@ z>x1jq$rl%;P4^986a*FEvnJm@p+DUrm+|0qWiiIo$rmmJOgB?uyfHm1m9c2@!Z{`o za}Q)PRzPCpzAB^Q^bbsoKGVIk8EYZY;*-vpIlU){*a%9R{9!HY^z1-JLAZODp@x7@ ZI%74+8_<ddW~VRQ**=W(CLdJT4*-9@X}JIZ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/Makefile b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/Makefile index 23033bf..a975b35 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/Makefile +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/Makefile @@ -218,63 +218,63 @@ LINKER_SCRIPT_DEP+= \ src/%.o: ../src/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/common/services/delay/sam/%.o: ../src/ASF/common/services/delay/sam/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/common/services/clock/sams70/%.o: ../src/ASF/common/services/clock/sams70/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/sam/drivers/pmc/%.o: ../src/ASF/sam/drivers/pmc/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/common/boards/user_board/%.o: ../src/ASF/common/boards/user_board/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/common/utils/interrupt/%.o: ../src/ASF/common/utils/interrupt/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/%.o: ../src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/sam/utils/cmsis/sams70/source/templates/%.o: ../src/ASF/sam/utils/cmsis/sams70/source/templates/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< src/ASF/sam/utils/syscalls/gcc/%.o: ../src/ASF/sam/utils/syscalls/gcc/%.c @echo Building file: $< - @echo Invoking: ARM/GNU C Compiler : 6.2.1 + @echo Invoking: ARM/GNU C Compiler : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -x c -mthumb -D__SAMS70N20__ -DDEBUG -Dscanf=iscanf -DBOARD=USER_BOARD -DARM_MATH_CM7=true -Dprintf=iprintf -I"../src/ASF/common/boards" -I"../src/ASF/sam/utils" -I"../src/ASF/sam/utils/header_files" -I"../src/ASF/sam/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/sam/utils/fpu" -I"../src/ASF/common/utils" -I"../src/ASF/sam/utils/cmsis/sams70/source/templates" -I"../src/ASF/sam/utils/cmsis/sams70/include" -I"../src/ASF/common/boards/user_board" -I"../src" -I"../src/config" -I"../src/ASF/sam/drivers/pmc" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m7 -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< @@ -303,7 +303,7 @@ all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) @echo Building target: $@ - @echo Invoking: ARM/GNU Linker : 6.2.1 + @echo Invoking: ARM/GNU Linker : 6.3.1 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mthumb -Wl,-Map="atsams70-tinyrouter.map" -Wl,--start-group -larm_cortexM7lfsp_math_softfp -lm -Wl,--end-group -L"../src/ASF/thirdparty/CMSIS/Lib/GCC" -Wl,--gc-sections -mcpu=cortex-m7 -Wl,--entry=Reset_Handler -Wl,--cref -mthumb -T../src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld @echo Finished building target: $@ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-objcopy.exe" -O binary "atsams70-tinyrouter.elf" "atsams70-tinyrouter.bin" diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/atsams70-tinyrouter.bin b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/Debug/atsams70-tinyrouter.bin index 2ed84e36c9185051d7b2b2f99cd24f64f6034d26..113528691ddfc0ecc936cfd83635e1e05bc3400b 100644 GIT binary patch delta 1963 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 On>8iVIanI_925Yfr#JEd delta 1942 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 diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/main.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/main.c index f692ee9..061f3cb 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/main.c +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/main.c @@ -31,7 +31,8 @@ #include <asf.h> #include "pin.h" #include "tinyport.h" -#include "packet_handler.h" +#include "packet_handling.h" +#include "node.h" pin_t stlb; pin_t stlr; @@ -204,19 +205,21 @@ void setallstatus(void){ int main (void) { + /* node_t* n = (node_t*)malloc(sizeof(node_t)); - n->myAddress = ADDRESS; - n->portBufferSizes = (uint8_t*)malloc(32); - for (int port = 0; port < 4; port++) { - n->portBufferSizes[port] = 0; - } - nb->LUT = (uint8_t**)malloc(4096); - for (int i = 0; i < 4; i++) { - for (int port = 0; port < 4; port++) { - n->LUT[i][port] = 255; - } - } - //board_init(); // asf + n->myAddress = ADDRESS; + n->portBufferSizes = (uint8_t*)malloc(32); + for (int port = 0; port < 4; port++) { + n->portBufferSizes[port] = 0; + } + n->LUT = (uint8_t**)malloc(4096); + for (int i = 0; i < 4; i++) { + for (int port = 0; port < 4; port++) { + n->LUT[i][port] = 255; + } + } + */ + board_init(); // asf sysclk_init(); // asf clock setupperipherals(); // peripheral clocks @@ -259,24 +262,26 @@ int main (void) for(int i = 0; i < 4; i++){ // loop over ports and check for packets, add packets to packet buffer if(ports[i].haspacket){ - packetlooper = ports[i].packet; // pull into buffer + // TODO: update heartbeat / buffer depth + packetlooper = ports[i].packet; packet_clean(&ports[i].packet); // reset packet states ports[i].haspacket = TP_NO_PACKET; - // TODO: update heartbeat / buffer depth - - pin_clear(ports[i].stlb); // for debugging: we have seen a packet on this port - - for(int c = 0; c < packetlooper.size; c ++){ // blocking echo + + for(int c = 0; c <= packetlooper.size; c ++){ // blocking echo tp_putchar(&ports[i], packetlooper.raw[c]); } - - handle_packet(); + + packet_clean(&packetlooper); + pin_set(ports[i].stlb); // for debugging: we have seen a packet on this port + + //handle_packet(); // put data in block, error if returns 0 b/c overfull ringbuffer /* if(!tp_putdata(&ports[i], packetlooper.raw, packetlooper.size)){ pin_clear(ports[i].stlr); } */ + } // packet handler @@ -292,6 +297,7 @@ int main (void) // loop over packet buffer and handle packets delay_cycles(1); // one clock tick to relax interrupt scheduler + //pin_set(&stlb); } } diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/node.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/node.h index 3452b30..dd7b828 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/node.h +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/node.h @@ -1,3 +1,6 @@ +#ifndef NODE_H_ +#define NODE_H_ + #define ADDRESS 0 typedef struct { @@ -5,3 +8,5 @@ typedef struct { uint8_t** LUT; // 1024 x 4 uint16_t myAddress; } node_t; + +#endif \ No newline at end of file diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet.c index baf205b..b1bdda1 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet.c +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet.c @@ -10,6 +10,7 @@ packet_t packet_new(void){ packet_t packet; packet.counter = 0; + packet.size = 255; return packet; } diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.c index e67e246..0a22465 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.c +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.c @@ -32,7 +32,7 @@ int in_table(node_t* n, uint8_t dest) { void handle_packet(node_t* n, packet_t* p, uint8_t port) { if (p->hopcount > MAX_HOPCOUNT) { - free((void*)p); + //free((void*)p); return; } @@ -134,8 +134,3 @@ void handle_packet(node_t* n, packet_t* p, uint8_t port) { break; } } - -int main() { - - return 0; -} diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.h index b0cb2ec..993837a 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.h +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/packet_handling.h @@ -9,7 +9,7 @@ #ifndef PACKET_HANDLING_H_ #define PACKET_HANDLING_H_ - +#include "node.h" int parse_type(packet_t* p); diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/tinyport.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/tinyport.c index 1138af4..8140a7b 100644 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/tinyport.c +++ b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/tinyport.c @@ -97,6 +97,7 @@ void tp_packetparser(tinyport_t *tp){ if(tp->packet.counter >= tp->packet.size){ // check counter against packet size to see if @ end of packet tp->haspacket = TP_HAS_PACKET; // this data is final byte, we have packet, this will be last tick in loop tp->packetstate = TP_PACKETSTATE_OUTSIDE; // and we're outside again + pin_clear(tp->stlb); } else if(tp->packet.counter == 6){ tp->packet.size = data; // 7th byte in packet structure is size } diff --git a/js/serialserver.js b/js/serialserver.js index 0bef22c..d6812ff 100644 --- a/js/serialserver.js +++ b/js/serialserver.js @@ -34,14 +34,17 @@ wss.on('connection',function(ws) { // // check address // + /* if (ws._socket.remoteAddress != client_address) { console.log("connection rejected from "+ws._socket.remoteAddress) ws.send('socket closed') ws.close() } + else { console.log("connection accepted from "+ws._socket.remoteAddress) } + */ // // handle messages // diff --git a/js/serialterminal.js b/js/serialterminal.js new file mode 100644 index 0000000..769854b --- /dev/null +++ b/js/serialterminal.js @@ -0,0 +1,70 @@ + +var debug = true; + +//----------------------------------------- readline +// command-line / terminal inputs are handled +// just as inputs from web terminal +// communications are kept human-friendly at network layer +// at some speed cost, but very development friendly + +const readline = require('readline'); + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +rl.on('line', parseLineIn); + +var buf = Buffer.from([255,8,8,8,8,8,8,10,11]) + +function parseLineIn(data) { + if (debug) { + console.log("rl: parseLineIn: " + data); + } + if(data == 'packet'){ + console.log('packet out !'); + data_out(buf); + } else { + data_out(data); + } +} + +//----------------------------------------- readline + +var SerialPort = require('serialport'); + +var ByteLength = SerialPort.parsers.ByteLength; + +var port = new SerialPort('COM15', { + baudRate: 115200, + dataBits: 8, + parity: 'none', + flowControl: false, +}); + +var parser = port.pipe(new ByteLength({length: 1})); + +parser.on('data', data_in); + +function data_in(data){ + console.log(data[0]); +} + +function data_out(data){ + port.write(data, function(err){ + if(err) { + return console.log('Error on write: ', err.message); + } + }); +} + +port.on('error', function(err){ + console.log('Error: ', err.message); +}); + +/* +port.on('readable', function(){ + console.log('Data: ', port.read()); +}); +*/ \ No newline at end of file -- GitLab