December 21, 2017 Software Update

Over the next two days, we will be rolling out updates to both my.farmbot.io and FarmBot OS. The updates are centered around two main features: an auto-sync option and improved logging. Below is a summary of some of the new features and fixes. Features marked with FarmBot OS 6.0.1 will only be available once FarmBot OS is updated.

App:

  • FarmBot OS 6.0.1: Aded an option to enable auto-syncing between the Web App and FarmBot OS, instead of choosing when to manually sync data. This community-requested feature is useful for getting small stable changes to FarmBot quickly, but it is recommended to use manual sync when making large changes that are not yet ready to be executed by FarmBot. The toggle is available in the Device widget of the Device page. (Thanks to creimers for the feature request.)
  • Add Logs page to navigation bar.

Farm Designer:

  • Cache OpenFarm plant icons in the browser for faster repeated icon load times.
  • Improved Farm Event calendar item presence with respect to current time.

Controls:

  • Added a button to add all default Farmduino peripherals.
  • FarmBot OS 6.0.1: Scaled encoder feedback now displays in millimeters instead of steps.
  • FarmBot OS 6.0.1: Fixed peripheral pin status display bug after emergency stop. (Thanks to Klimbim for the bug report.)

Device:

  • FarmBot OS 6.0.1: Added widget to set and remove Raspberry Pi GPIO pin bindings to allow start of a sequence by pressing a physical button (or by motion sensor output).
  • FarmBot OS 6.0.1: Device widget settings to adjust or disable factory reset on WiFi network connection/configuration error. This is useful to prevent FarmBot from needing to be reconfigured if its Internet connection goes out temporarily.
  • FarmBot OS 6.0.1: Added a homing speed parameter in the motors section of the Hardware widget.
  • Added Pin Guard to hardware settings. Use pin guard to automatically turn pins off that are accidentally left on.

Sequences:

  • Only allow importing locations from active tools (tools in tool slots) in Move Absolute steps.
  • Fixed a bug where the ghost image displayed during drag and drop of Sequence commands was not showing.
  • Added the ability to specify a reduced speed for relative and absolute movements.

Tools:

  • Added a button to add all standard FarmBot tools.

Farmware:

  • Color range selection interface bug fixes and improvements.
  • Camera calibration and weed detection widgets now use the Device is offline overlay when FarmBot OS is disconnected.
  • FarmBot OS 6.0.1: Farmware input forms and API changes. Automatically add an input form on the Farmware page for any Farmware that requires input values (specified via config in a Farmware’s manifest file). (Additional Farmware development details)

Logs:

  • FarmBot OS 6.0.1: Log messages are now saved to the backend individually as they are sent, rather than being batch uploaded.
  • FarmBot OS 6.0.1: Show bot position for each log message.
  • FarmBot OS 6.0.1: Verbosity levels for log messages. (Thanks to mdingena for the suggestion.) Logs can be filtered by verbosity level in the ticker and Logs page via the Logs page filter menu. Two presets are included in addition to the more granular level adjustments: normal and max verbosity. The higher the verbosity number, the more logs you will see.
  • FarmBot OS 6.0.1: Ability to disable Sequence Complete log messages (Thanks to Klimbim for the feature request.)
  • FarmBot OS 6.0.1: Ability to toggle sequence step execution and sequence end log message creation.
  • FarmBot OS 6.0.1: Axis homing complete log messages (Thanks to Klimbim for the feature request.)
  • FarmBot OS 6.0.1: Ability to toggle Arduino communication log messages: commands sent, responses, and debug messages.
  • Improve formatting for long log messages in the log ticker and on the Logs page.

FarmBot OS and Firmware:

  • FarmBot OS 6.0.1: FarmBot OS has been extensively reworked to improve performance and stability and to allow for new auto-sync, logging, and other new features.
  • FarmBot OS 6.0.1: Raspberry Pi to Farmduino/Arduino communication has been improved to reduce movement and communication errors.
  • FarmBot OS 6.0.1: Axis calibration now moves back to the home position after determining axis length.
  • FarmBot OS 6.0.1: Encoders now keep track of FarmBot’s position even when the motors are not running.
  • FarmBot OS 6.0.1: FarmBot OS Configurator has been redesigned to increase browser compatibility and stability. Configuration is now a multi-step process with an improved interface.
  • FarmBot OS 6.0.1: Increased the maximum allowed value for the firmware axis length parameters.

5 Likes

Sweet! Definitely adding a weather station output to my setup. Trigger watering sequence when no rain is predicted.

:scream: Awesome! Except that I think you’ve got verbosity backwards. Looking at the screenshot “verbosity_settings.png” You can see that “Sequence started and stopped” messages are level 2, but the nitty gritty details of the sequence are level 1. I believe that if you want less verbosity, you only want to see “Sequence Started / Stopped” messages. And if you up the verbosity, you will see additional information such as logs from the individual steps of the sequence.

I’ve outlined this concept here: Verbose event logging required · Issue #37 · FarmBot/farmbot-js · GitHub

Log message verbosity is currently implemented at the command level, which means all move absolute commands will have the same verbosity level. Since it is desirable to see movement logs while manually controlling FarmBot at the default verbosity level, they have a verbosity of 1.

Hey Farmbot Team, happy new year!!!

You’ve done a great job with the latest update (if it works as described :stuck_out_tongue:) thanks very much!

If the bot then gets stuck (when this factory reset on WiFi disconnect is false) what is the preferred way of getting back in the factory reset state? Is there a button on Raspi or Arduino?

When are the pins turned off? After each sequence? How should they accidentally left on? Due to bad programming of a sequence? Please elaborate a bit more on the ideas behind this feature…

Thanks again, great new upgrades!

P.S.: @Gabriel: Did you have a chance to implement my request for at least one analog pin to be not pulled up?

If you disable automatic factory reset and your bot disconnects, you will need to fix the cause of the disconnect or re-flash the SD card.

You can use Pin Guard to turn off any pin after it is on for the specified amount of time, in any situation. For example, if you turn on a pin via the Peripherals widget or in a sequence and forget to turn it off, pin guard can be used to automatically turn it off.

The pins I mentioned in the relevant topic are not currently pulled up.