Connor Rigby
7e1ceaf7be
Implement new AST: `assert`.
...
This is a new AST that will allow executing a
simple expression and conditionally pass/fail
and cleanup when it completes.
2019-09-13 16:03:31 -07:00
Connor Rigby
a04ddf0159
Fix set_pin_io mode
2019-09-13 16:03:31 -07:00
Connor Rigby
fcadeebe6e
Add `update_farmware` rpc back
2019-09-13 16:03:31 -07:00
connor rigby
3231651b5f
Add :set_pin_io_mode rpc back to known rpcs
2019-09-13 16:03:30 -07:00
Connor Rigby
a6efc9df38
Remove scheduler debug logs
2019-09-13 16:03:28 -07:00
connor rigby
d4157175d4
Increase grace period in scheduler to 15 minutes
2019-09-13 16:03:27 -07:00
gabrielburnworth
62a101dc9c
Fix some farmware bugs
2019-09-13 16:03:27 -07:00
Connor Rigby
ed84cfeb2f
Add feature to subscribe to update to scheduled calendar
2019-09-13 16:03:27 -07:00
Connor Rigby
6c59d54244
Update logs for starting/completing a sequence
2019-09-13 16:03:26 -07:00
Connor Rigby
3d07c263ea
Fix scheduler not reindexing when an event is missed
...
* Add some breadcrumbs to see what the data that generated the scheduled
event looks like
* only monitor a process if it isn't monitored yet
2019-09-13 16:03:26 -07:00
connor rigby
55533675f5
Reenable sequence init and sequence complete logs
...
Sort of a hack, but store some metadata about a sequence in the AST
format, and if it exists, log it
2019-09-13 16:03:26 -07:00
Connor Rigby
6bb75de021
Allow flashing firmware at runtime
...
* Moves tty detector to farmbot_core
* Update elixir config to reflect this
* Update `flash_firmware` rpc to not circularly flash firmware
2019-09-13 16:03:25 -07:00
Connor Rigby
a160d6a41b
Fix factory_resetting the arduino-firmware
...
* Adds `api_migrated` field to FirmwareConfig
* Changes `factory_reset()` syscall to be `factory_reset(package)`
2019-09-13 16:03:25 -07:00
connor rigby
2a884f3b41
Fix typo in `If`
2019-09-13 16:03:25 -07:00
connor rigby
e7fed8838d
Update home all log
2019-09-13 16:03:25 -07:00
connor rigby
5ca92090a1
Update more logs
...
* Any float is not formatted very specifically
* if the remainder in the decimal is `0`, don't display decimal
* if the remainder is not zero, truncate to only one decimal place
* Write/Read pin
* yeah that got messy
2019-09-13 16:03:25 -07:00
connor rigby
ce3480a0f5
Add log for relative movement
2019-09-13 16:03:25 -07:00
connor rigby
d2239d76c3
Try add log channels more aggressively
2019-09-13 16:03:24 -07:00
connor rigby
059af23faf
Add parens to movement logs
2019-09-13 16:03:24 -07:00
connor rigby
28b43bebd3
Update more logs for clarity
...
* Add log for things that enumerate all axis
* change `homing` to `going home`..
2019-09-13 16:03:24 -07:00
connor rigby
0cbb4ba784
Fix named pins causing celeryscript errors
...
NamedPin values were encoded as tuples. This changes it to
pattern matchable structs, and implements a `to_string` behaviour
for those structs
2019-09-13 16:03:24 -07:00
Connor Rigby
c92c79347f
Add back step logs
2019-09-13 16:03:24 -07:00
connor rigby
672c1cc5e6
Fix CeleryScript Compiler typo in find_home/1
2019-09-13 16:03:23 -07:00
Connor Rigby
60b075cf88
Normalize asset commans
...
Many clauses were not getting hit depending on if
`update/3` was called with a Module or a "String".
This normalizes everything early.
2019-09-13 16:03:23 -07:00
Connor Rigby
e6b29ea559
Refactor CeleryScript execution
...
* FarmEvents now schedule all events up front
* Executions are stored in the database
* Regimens now schedule all items up front
* Executions are stored in the database
* fix Deleting a FarmEvent with a running RegimenInstance
* `execute`int and `schedule`ing a CeleryScript are not separate things
* Everywhere `scheduling` and `executing` CeleryScript updated to use
the new API
2019-09-13 16:03:23 -07:00
Connor Rigby
00d0897672
Dry up celery_script compilation
...
This adds much more type checking and error
handling in the compiled celery_script.
Also removes the hack/shortcut in the StubSysCalls
module.
2019-09-13 16:03:23 -07:00
Connor Rigby
697850b4b3
Implement process separation for celery scheduler
...
This should hopefuly prevent hanging forever and other weird
issues relating to executing celeryscript
2019-09-13 16:03:23 -07:00
Connor Rigby
5496efd390
Revert "Update scheduler to use ETS instead of storing data on a local state"
...
This reverts commit 4b2fa3f312
.
2019-09-13 16:03:23 -07:00
Connor Rigby
c0ddf0a32d
Revert "Update command_runner to not use entire scheduler"
...
This reverts commit e5d1e00c5f
.
2019-09-13 16:03:22 -07:00
Connor Rigby
12640ae805
Revert "make sure to setup ets table for farmbot_celeryscript before starting it"
...
This reverts commit 2f689e4a1f
.
2019-09-13 16:03:22 -07:00
Connor Rigby
14ff862176
Allow named_pin to return metadata
...
This will allow doing special thing contextually depending
on the type of pin being read.
2019-09-13 16:03:22 -07:00
Connor Rigby
be1c6dc869
Add basic support for the express firmware target ( #718 )
...
* Initital setup for FarmbotExpress
* Update farmbot-arduino-firmware commit ref
2019-09-13 16:03:21 -07:00
Connor Rigby
c653502f9a
Update command_runner to not use entire scheduler
2019-09-13 16:03:20 -07:00
Connor Rigby
b9b222fe3c
make sure to setup ets table for farmbot_celeryscript before starting it
2019-09-13 16:03:20 -07:00
Connor Rigby
80b6e53569
Update scheduler to use ETS instead of storing data on a local state
2019-09-13 16:03:20 -07:00
Connor Rigby
3d036aded6
Fix zero expecting a speed paramater
2019-09-13 16:03:20 -07:00
connor rigby
38a1dac5ae
Change order of axis movements
2019-09-13 16:03:20 -07:00
Connor Rigby
80b57917f9
Fix _if using named_pin
2019-09-13 16:03:19 -07:00
Connor Rigby
700d875e3a
Fix move_relative and move_abs coordinate math
2019-09-13 16:03:19 -07:00
Connor Rigby
b61f1b11be
Fix some misc firmware bugs
2019-09-13 16:03:19 -07:00
Connor Rigby
1b31c32b3d
Implement change_ownership sys_call
...
This required some changes to NervesHub because of there
being a brief moment after changing ownership where there
are no certs.
2019-09-13 16:03:19 -07:00
Connor Rigby
4f74887990
Implement get_toolslot syscall and fix parameter typos
2019-09-13 16:03:19 -07:00
Connor Rigby
68e15bcce1
Firmware command updates
...
Fixes `toggle_pin`
Fixes some unknown parameters
2019-09-13 16:03:19 -07:00
Connor Rigby
db799f5d64
Update nerves-hub and add check_update sys_call
2019-09-13 16:03:19 -07:00
Connor Rigby
f0c8fed4d8
Implement estop and eunlock syscalls
2019-09-13 16:03:19 -07:00
Connor Rigby
2a1db21546
Implement remaining celery nodes
2019-09-13 16:03:19 -07:00
Connor Rigby
db54e2117d
Update find_home to not take a speed arg
2019-09-13 16:03:18 -07:00
Connor Rigby
1c7e789eb4
Remove debug log of compiled cellery_script
2019-09-13 16:03:18 -07:00
connor rigby
d842c3a123
🎉 Implement Variables in Regimen
2019-09-13 16:03:17 -07:00
Connor Rigby
b7f4ebba57
Fixes for bootstrapping firmware.
...
* TTYDetector no longer causes side effects
* add new RPC for `flash_firmware` that takes a `package` arg
2019-09-13 16:03:17 -07:00