Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, a web toolkit designed to help citizens, conservation practitioners, municipal decision-makers, researchers, educators, and students advance knowledge and stewardship of fresh water. New to EnviroDIY? Start here

Reply To: esp32-bee-wifi-bluetooth

Home Forums Infrastructure and Equipment esp32-bee-wifi-bluetooth Reply To: esp32-bee-wifi-bluetooth

#17958
neilh20
Participant

    Thanks for the explanation – I do so appreciate that the code at 9600 baud works, and there is a lot of hard work gone into configuring it  – as you say to work both first off and subsequent power ups.

    Coming from a  real time programming background I keep forgetting about the simplicity of Arduino. So I keep tripping over  issues like this – it will be burnt into my brain someday – it would have been so nice for that explanation to be in place in the code where it goes through gyrations.

    I would suggest its actually the architecture that is the real issue, not the lack of cycles which consume power just polling . I’ve used mega2560 with 115200 fast processing in the past.

    https://forum.arduino.cc/t/serial-input-basics/278284

    and from TinyGsmClientESP8266.h

    it needs to receive <NL> before processing the buffer.

    My take is the issue is that the buffer handling/parsing is being processed at too high level – and not closer to the hardware.  There is a lot of value in reducing power consumption in being able to process the serial stream to/from the MMW faster – so I believe its worth understanding.  However I haven’t gone  through the layers with TinGSM to understand it.

    Some years ago while chatting with a Standford CSU Professor at a TinyOS conference, he said it was so hard to teach people real-time processing, and of course event based processing and finite state machines .  Their solution, Berkley/Standford nesC (network embedded systems C) was harder to understand than the problem they where solving.

    http://tinyos.stanford.edu/tinyos-wiki/index.php/Getting_Started_with_TinyOS#The_BlinkAppC.nc_Configuration