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 anos atrás
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 anos atrás
John-Mark Gurney
e1e58ef029
add invert for channels, implement scheduling...
3 anos atrás
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 anos atrás
John-Mark Gurney
bf5934f693
add setunset command to set the state of a channel.. useful for testing..
3 anos atrás
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 anos atrás
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 anos atrás
John-Mark Gurney
f2325ec176
make sure we don't buffer the serial port, we need the packets to
be transmitted now.
3 anos atrás
John-Mark Gurney
8bb1db837c
fix up the dep generation to include the new files..
3 anos atrás
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 anos atrás
John-Mark Gurney
0c2feac137
change the default to be func..
3 anos atrás
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 anos atrás
John-Mark Gurney
ea28de7420
forgot to add the copyright for this file..
3 anos atrás
John-Mark Gurney
08e6f93992
break out some util functions, implement multicast adapter for LORANode...
3 anos atrás
John-Mark Gurney
56897ac5b9
add a server/gateway between multicast and the lora TX/RX...
3 anos atrás
John-Mark Gurney
f2ccc802fd
make sure that thing get closed down properly..
3 anos atrás
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 anos atrás
John-Mark Gurney
6c383ce883
add a module for doing multicast work..
3 anos atrás
John-Mark Gurney
4d89f8a0e2
explain a bit why Lorawan wasn't used, and clarify compiler issue..
3 anos atrás
John-Mark Gurney
827cb9a62c
fix up coverage omit to drop venv installed packages...
3 anos atrás
John-Mark Gurney
0771f6c87b
add notes about unix dgrams..
3 anos atrás
John-Mark Gurney
de313e6ea6
use a lambda, shorter and "fools" coverage..
3 anos atrás
John-Mark Gurney
1b41dc63fb
simplify the test code by using the new comms_process_wrap function...
3 anos atrás
John-Mark Gurney
7c5828e700
spell this a bit better, use the function I created for this..
3 anos atrás
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 anos atrás
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 anos atrás
John-Mark Gurney
ba052dd160
missed setting up routing for the analog pin..
3 anos atrás
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 anos atrás
John-Mark Gurney
d6c8ef06ab
add pin description, and use the analog pin to provide randomness..
3 anos atrás
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 anos atrás
John-Mark Gurney
adc9427e22
remove unused parameters..
3 anos atrás
John-Mark Gurney
20f123cfc9
move _rng_save earlier, drop some register debugging...
3 anos atrás
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 anos atrás
John-Mark Gurney
1f22cf570d
output the .map file as well, this helps figure out where things are..
3 anos atrás
John-Mark Gurney
22f89f5ce6
make sure that the failure is properly propegated..
3 anos atrás
John-Mark Gurney
0e098d73c2
abstract out deps to allow adding more dep files...
3 anos atrás
John-Mark Gurney
fbe09e92b7
sort files in the Makefile..
3 anos atrás
John-Mark Gurney
0415edce83
add copyright statement to various files as needed..
3 anos atrás
John-Mark Gurney
f9a9ab2bb9
talk about the special ST license..
3 anos atrás
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 anos atrás
John-Mark Gurney
c4b6360695
add support for replying last message if it was lost..
3 anos atrás
John-Mark Gurney
200a8a4cd1
mark __repr__ as no cover..
3 anos atrás
John-Mark Gurney
0f83ec169d
add in support for doing the shared key...
3 anos atrás
John-Mark Gurney
5a0def61d6
ratchet after nonces, this will help prevent leaking the shared key...
3 anos atrás
John-Mark Gurney
e3843b2e27
print out a little bit more of the messages..
3 anos atrás
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 anos atrás
John-Mark Gurney
9e56615b43
minor spelling fixes, and explain the command protocol..
3 anos atrás
John-Mark Gurney
b54265cb2f
minor spelling fixes..
3 anos atrás
John-Mark Gurney
1ca15a5d34
add documents w/ notes and the start of the protocol definition...
3 anos atrás
John-Mark Gurney
bfe9840737
update to moving the tag to the end...
3 anos atrás