- This topic has 3 replies, 2 voices, and was last updated 3 months ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
OpenSprinkler › Forums › OpenSprinkler Unified Firmware › Compiling Firmware 2.1.7
Tagged: Firmware Compile Legacy
Is there any instructions/help available on how to compile firmware 2.1.7?
Reason is I’d like to change the /su weather to accept IP:Port and not try do a DNS lookup on ‘IP:Port’. While I was at it I asked ‘AI’ about the network lockups that require a power reset:
Issue 1 is the prime suspect — there’s a well-known silicon errata in the ENC28J60 chip where the ERXRDPT receive buffer pointer register must always be set to an odd value. The code in packetReceive() doesn’t enforce this. When the pointer lands on an even address, the chip’s internal receive logic silently jams — it stays powered up and the AVR keeps running perfectly, but the ethernet hardware stops accepting any new packets. A power cycle resets the chip and clears it, which matches your symptoms exactly.
Issue 2 makes it worse — there’s no code anywhere that checks or clears the RXERIF receive overflow error flag. So if the buffer fills up (which Issue 3’s blocking DNS/HTTP calls make likely), the chip halts receive and there’s nothing to bring it back short of a reset.
Any help compiling would be appreciated.
Regards,
Stephen
Compiling firmware 2.1.7 for which OpenSprinkler hardware?
Hi Ray. Sorry, dumb to leave that out.
OpenSprinkler HW2.2 (16MHz, Serial).
Well this is embarrassing when you take a different approach. For anyone else who may be looking to compile for older (OS 2.2) hardware:
OpenSprinkler › Forums › OpenSprinkler Unified Firmware › Compiling Firmware 2.1.7