Commit Graph

71 Commits (7e1ceaf7be212352c7e2e6594e489c2afcecc0d0)

Author SHA1 Message Date
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