John-Mark Gurney
a9aa658b55
reenable seeding prng w/ rssi.. up preamble from 4 to 8 for reliability...
Before this, I was VERY frequently having to retry.. changing just
the gw improved things significantly, but changing it on both results
is no observable retries.. This is also the default that the example
apps in loramac uses..
3 years ago
John-Mark Gurney
a5e5676405
support cmds from file, add advance and clear commands, change init
Don't start up w/ the first four channels on... We only want that
for the LED to let us know it's running...
3 years ago
John-Mark Gurney
e1e58ef029
add invert for channels, implement scheduling...
3 years ago
John-Mark Gurney
62ddf5d243
start implementing the core part of the irrigation controller...
This gets basic comms working and setunset working as well... It
makes the LED blink!
3 years ago
John-Mark Gurney
bf5934f693
add setunset command to set the state of a channel.. useful for testing..
3 years ago
John-Mark Gurney
d55589790a
this error should be asyncio.TimeoutError, make retries faster...
Turns out that the base TimeoutError is different than the asyncio
version, and so we weren't actually retrying packets, just terminating
early...
3 years ago
John-Mark Gurney
0875be381d
make sure we filp back to rx after we're done tx'ing...
eliminate the strobe code as it isn't used, this just pushes
packets back and forth..
3 years ago
John-Mark Gurney
f2325ec176
make sure we don't buffer the serial port, we need the packets to
be transmitted now.
3 years ago
John-Mark Gurney
8bb1db837c
fix up the dep generation to include the new files..
3 years ago
John-Mark Gurney
4f71fa354b
add infrastructure to support the gateway and irrigation firmwares..
This can now easily be expanded to support other projects as well..
3 years ago
John-Mark Gurney
0c2feac137
change the default to be func..
3 years ago
John-Mark Gurney
eef68ad27b
add a CLI, for both initiator and respondent...
both take a shared key as an argument...
the respondent arg (-r) takes an argument specifying the function to
call w/ the messages... The form is: module_path[:name.of.func]. If
the name is not specified, func will be used.
3 years ago
John-Mark Gurney
ea28de7420
forgot to add the copyright for this file..
3 years ago
John-Mark Gurney
08e6f93992
break out some util functions, implement multicast adapter for LORANode...
3 years ago
John-Mark Gurney
56897ac5b9
add a server/gateway between multicast and the lora TX/RX...
3 years ago
John-Mark Gurney
f2ccc802fd
make sure that thing get closed down properly..
3 years ago
John-Mark Gurney
3a6deb531e
support importing this w/o the lib...
this is more of a problem w/ the utility function being in lora
which loraserv imports... if/when that happens this could be reverted..
3 years ago
John-Mark Gurney
6c383ce883
add a module for doing multicast work..
3 years ago
John-Mark Gurney
4d89f8a0e2
explain a bit why Lorawan wasn't used, and clarify compiler issue..
3 years ago
John-Mark Gurney
827cb9a62c
fix up coverage omit to drop venv installed packages...
3 years ago
John-Mark Gurney
0771f6c87b
add notes about unix dgrams..
3 years ago
John-Mark Gurney
de313e6ea6
use a lambda, shorter and "fools" coverage..
3 years ago
John-Mark Gurney
1b41dc63fb
simplify the test code by using the new comms_process_wrap function...
3 years ago
John-Mark Gurney
7c5828e700
spell this a bit better, use the function I created for this..
3 years ago
John-Mark Gurney
7b4f7cf38c
make sure that comms.c enforces handshake messages..
This just makes sure things are a little tighter wrt protocol
compliance, ensuring that a corrupted initiator doesn't do bad
things..
3 years ago
John-Mark Gurney
4024d1d5e4
add support for starting a new session...
This also adds a check to make sure that the allocated structure matches
the C code so that things won't break.
This breaks out the session state into it's own object... allowing a
common function to handle the state machine...
This also adds a new powerful testing tool. It's a Synchronization
primitive that will ensure blocks of code run in the expected order,
and only run when the previous block has fully run... This helps
ensure ordering between many tasks, to cause race conditions that
would otherwise be hard to cause..
3 years ago
John-Mark Gurney
ba052dd160
missed setting up routing for the analog pin..
3 years ago
John-Mark Gurney
550f7392fe
make sure that the initiator code can deal w/ bogus replies and they
are ignored, and it triggers a resent of the previous packet...
3 years ago
John-Mark Gurney
d6c8ef06ab
add pin description, and use the analog pin to provide randomness..
3 years ago
John-Mark Gurney
d0cc4dd2c9
use the radio RSSI for a source... we may want to shorten this as it takes
3-4 seconds to gather all this... need to add a blinking light to this
so it's clear that it's still starting..
3 years ago
John-Mark Gurney
adc9427e22
remove unused parameters..
3 years ago
John-Mark Gurney
20f123cfc9
move _rng_save earlier, drop some register debugging...
3 years ago
John-Mark Gurney
9db30b71f0
add support for saving PRNG state to EEPROM...
This is better than using RAM, as it keeps the state between power
cycles...
3 years ago
John-Mark Gurney
1f22cf570d
output the .map file as well, this helps figure out where things are..
3 years ago
John-Mark Gurney
22f89f5ce6
make sure that the failure is properly propegated..
3 years ago
John-Mark Gurney
0e098d73c2
abstract out deps to allow adding more dep files...
3 years ago
John-Mark Gurney
fbe09e92b7
sort files in the Makefile..
3 years ago
John-Mark Gurney
0415edce83
add copyright statement to various files as needed..
3 years ago
John-Mark Gurney
f9a9ab2bb9
talk about the special ST license..
3 years ago
John-Mark Gurney
58fa06f80c
add some clarification about additional dirs, and expected license...
Also remind people that it's their responsiblity to follow licenses..
3 years ago
John-Mark Gurney
c4b6360695
add support for replying last message if it was lost..
3 years ago
John-Mark Gurney
200a8a4cd1
mark __repr__ as no cover..
3 years ago
John-Mark Gurney
0f83ec169d
add in support for doing the shared key...
3 years ago
John-Mark Gurney
5a0def61d6
ratchet after nonces, this will help prevent leaking the shared key...
3 years ago
John-Mark Gurney
e3843b2e27
print out a little bit more of the messages..
3 years ago
John-Mark Gurney
5ad4088bf8
add the start of the C version for the uC...
Turns out there's a bit of code that isn't compatible w/ the Python version,
eliminate it... This was to support encoding lengths (via negative length
parameters)...
Also, the default C version (which we want to use) is Keccak(800) and not
Keccak(1600), switch Python to 800, as it'll be faster on the 32-bit uC, and
still has plenty of security margin...
3 years ago
John-Mark Gurney
9e56615b43
minor spelling fixes, and explain the command protocol..
3 years ago
John-Mark Gurney
b54265cb2f
minor spelling fixes..
3 years ago
John-Mark Gurney
1ca15a5d34
add documents w/ notes and the start of the protocol definition...
3 years ago
John-Mark Gurney
bfe9840737
update to moving the tag to the end...
3 years ago