[ell-i-developers] Re: Status report: Also CoAP works in real hardware. Please test.

  • From: Eero Hakala <eero.k.hakala@xxxxxxxxx>
  • To: ell-i-developers <ell-i-developers@xxxxxxxxxxxxx>
  • Date: Sun, 16 Mar 2014 17:03:19 +0200

Hi I don't have the POE injector, so I can test only with emulator, I'll
grab one POE injector on Wednesday!

Got some errors
stm32/cores/arduelli/Arduino.h:30:29: fatal error: ellduino_serial.h: No
such file or directory

changed to offendind line in Arduino.h from ellduino_serial.h to
ellduino_Serial.h, after this change it the embedded target compiled cleanly

When compĂ­ling with PLATFORM=emulator, I got errors:

g++ -m32 -march=i386 -m32 -demangle -march=i386 -Xlinker -T -Xlinker
../../scripts//elf_i386.xc -o hello_world  main.o hello_world.o ellduino.o
--start-group ../../variants/ellduino/libstm32f0.a
../../libraries/CoAP/CoAP.a ../../libraries/SPI/SPI.a
 ../../libraries/SPI/ellduino_spi.o --end-group  -lstdc++
g++: error: unrecognized command line option '--start-group'
g++: error: unrecognized command line option '--end-group'
make: *** [hello_world] Error 1

The same situation when compĂ­ling in the tests folder with


On Sat, Mar 15, 2014 at 2:43 PM, Pekka Nikander <pekka.nikander@xxxxxx>wrote:

> > UDP checksums are now off-by-one, and I don't understand why.  IP
> checksum code appears to be ok, based on a couple of test cases.  UDP
> checksums are based on the IP checksum code.  Additionally, the inline
> assembler optimisation that I did does not work, but that can wait for
> later.
> I found the bug.  The real bug was (is) in the IP checksum correction, not
> UDP checksum computation.  I think the IP checksum correction is still
> broken: apparently it now works most of the time but fails with certain
> corner case values, but I'm not sure.
> But I was barking the wrong tree for a few days.
> It also appears that Mac OS X *does* accept zero UDP checksum, i.e. the
> whole checksum computation code is not needed (yet).  But of course it
> doesn't harm that it is there, if we just manage to find or generate enough
> of test cases for it so that it becomes robust.  That is, apparently there
> is (may be) also something fishy in the UDP checksum, but that can be fixed
> later, for now even CoAP works (with Copper) if UDP checksums sent as
> zeroes.
> The code is now in github in the feature-coap-temp branch.  I will clean
> it up and merge to feature-coap-wip branch ASAP, then start working towards
> a merger into the master.  Please expect the merge to take some time; it is
> better to start e.g. IDE integration with the feature-coap-wip branch than
> wait for the merge.
> If you want to test, here is how:
>    git clone --branch feature-coap-temp
> https://github.com/Ell-i/Runtime.git
>    cd Runtime/stm32/library
>    make
>    cd ../examples/CoAP
>    make
>    stm32flash -w hello_world.hex /dev/...
>    sudo ifconfig ... alias
>    ping
> Then install Mozilla, Copper, and fetch coap://
> In any case, now for the first time the new stack works for real.  Work
> still remains to be done, of course, but now we can start to think about
> things like API, integration of the new Runtime and Arduino IDE, etc.  It
> took some time longer than I thought, for a number of reasons, but the code
> is now there, it is relatively simple, and most importantly it generates
> very small binaries.
> As one of the next steps, I think it would be very good to get some test
> cases for the code, both test cases running in the emulator with the pcap
> interfaces, but also test cases that run against the real hardware.  With
> such test cases in place, I would feel much more confident in fiddling with
> the code in an attempt to make the binaries even smaller.  There are now
> known inefficiencies and inelegant things.  The inelegant things I'm
> planning to fix before merging to master, but the inefficiencies will most
> probably remain there until we have some kind of a test suite.
> --Pekka

Other related posts: