* make sure specified port isn't reserved
* only sshd
* Add check to tests as well and test
* commonly define these safety check numbers in services and check in both places
* add function to generate new ports that aren't reserved
* port is guaranteed to not be a reserved port and above 8000 now
asserting the rate on runtime isn't necessary, just for testing
* create service_list dynamically
* redundant
* just add an offset equal to length of services dict
* fix test?
* only one reserved
* ignore the argument type error
* rm line
* Add back tests
* starts at 8001
* Update README.md
* Update README.md
* Split out sensors
* no duplicate ports
* not used
* misc cleanup
* fix tests
* only catch import error
* celcius is not SI
* better temp
* update servicespy
* add explicit
* -data
* save sensors for later
* more thermal
* little more
* thermal -> deviceState
* steering
* forgot deg
* explicit ids
Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* pub sub unit test
* pub master test
* first submaster test case
* test init
* submaster conflate test
* more submaster
* all submaster except alive and valid
* fix ZMQ
* fix ZMQ for test_messaging
* single underscore
* fix key error
* more zmq sleep
* zmq needs even more sleep
* unused
* zmq sleep in submaster tests
* uids are pids
* remove fifo, go for signal
* that's more what i'm saying
* oops, that's wrong
* add some todos
* make signal poll work
* bring randomness back
* fix case in msgq when subs get evicted while polling
* check for ready messages before poll starts
* No pr builds
* use nanosleep with remainder
* this should pass the test