September 18, 2018 Software Update
Hi FarmBot community,
Today and over the last few weeks we’ve updated the FarmBot Web App and sent out two new releases of FarmBot OS, v6.4.10 and v6.4.11. Here’s what’s new:
Web App
-
Added timestamps to logs sent in the log digest email so that you know when certain events occured. Thanks @etcipnja for the suggestion!
-
Formatted the digest log emails with HTML for a better viewing experience.
-
The Connectivity widget has been improved to show unknown connectivity states in yellow. This provides a more accurate picture of what is known and unknown about the network. For example, while your FarmBot may be disconnected from the message broker, that doesn’t necessarily mean the Arduino is disconnected from the Raspberry Pi. Previously, the connectivity widget showed unknown states in red.
-
Sequences and Regimens that are in use (depended on by an Event, for example) have shown an icon indicating this status for a while now, though the icons would only update upon refreshing the app. Now these icons will update without a refresh, allowing you to more easily see which items are in use and which aren’t.
-
Tool Slots can now be located at coordinates with decimal accuracy. For example: (23.7, 419.1, -762.9). This allows you to more precisely tell your FarmBot where the Tool Slots are located which can improve the FarmBot’s ability to smoothly mount and dismount tools.
-
Added a Trusted Domains config for self-hosted enterprise users to restrict user account signups to email addresses from only trusted domain names. For example, yourcompany.com can restrict user accounts to people with @yourcompany.com email addresses.
-
The button to download diagnostic reports has been removed to prevent users from sharing their reports in public places online where a malicious attacker could misuse the information. You can still record diagnostic reports and safely tell FarmBot staff the report ID for troubleshooting help.
-
Fixed a bug where the Sequence SAVE button would become stuck in a SAVING state when attempting to save a long sequence (greater than 15 steps).
-
The Webcam Widget’s edit buttons have been re-ordered to match other widgets throughout the app.
FarmBot OS
-
FarmBot OS will now issue an E-STOP command to the firmware before going down for a Factory Reset, Shutdown, or Reboot. This is critical in ensuring that your FarmBot is put into a safe state (not moving, water valve closed, etc) before it becomes unreachable from the web application.
-
The FarmBot now reports Disk Usage, Memory Usage, and Uptime, which can be viewed from the popup when clicking the FarmBot OS version. The Disk and Memory usage information is useful for our development team to spot bugs in the OS, while the Uptime information may be useful for anyone wishing to know how long their FarmBot has been running since the last boot.
-
Fixed a bug causing FarmBot to become unstable when the user flashed firmware multiple times during configuration.
-
Fixed a bug causing unexpected results when a firmware value was set during configuration that was different than what was stored in the web application.
-
Fixed a bug causing the Raspberry Pi speaker output (for spoken messages) to not function.
New default settings
With the shipping of the new v1.4 kits, we wanted to ensure all of our newest FarmBot users would start off with the best possible settings. Thus, we’ve changed some of the default values that will be used when setting up a new FarmBot/web app account, and when using the reset hardware parameter defaults button.
- ALWAYS POWER MOTORS will now default to ON for all three axes. We’ve seen a number of reports that the cable carriers, cabling, and tubing can exert a recoiling force on the gantry and cross-slide that can cause the FarmBot to not stay in the desired location after a movement completes. Defaulting these settings to ON will alleviate this issue in most circumstances. Please note that this change will slightly increase the power that the FarmBot uses, which will also increase the temperature inside the electronics box.
- ENABLE ENCODERS will now default to ON for all three axes. When we first started shipping FarmBots to customers, the rotary encoder functionality was still largely experimental and a work in progress. Today we can confidently say that the encoder functionality is robust enough to enable by default. As a result, we have also removed the “(Alpha)” and “[Experimental]” warnings from the associated tooltips.
- FARMBOT OS AUTO UPDATE will now default to ON. We found that many users were not updating their devices regularly. This can lead to poor experiences once the device’s software is older than our 60 day official support window. Having devices default to updating automatically will help keep the fleet of FarmBots more up to date with the latest security patches and features, and gets our product inline with what today’s consumers expect.
Of course, if you do not like the default options we have chosen, you are free to change these settings at any time.
Server Infrastructure
As our community of customers and DIY builders grows, it is paramount that we scale and improve our server infrastructure to handle more users and data than ever before. This web app release includes several operational, scale, and performance improvements:
Zero Downtime Deploys
We’re working towards achieving zero downtime infrastructure that will allow us to send out updates to the web application and our other services without the need to make the services unavailable during the update process. Please note that certain updates will still require small amounts of downtime, though we will work to minimize service disruption as much as possible.
Horizontally scalable logs service
The server processes that handle storing all of the logs in the database can now scale horizontally, meaning that as the number of logs increases we can more easily add server resources to handle the higher load.
Performance
We’ve added several new indexes to the database that increase performance throughout the application when fetching resources during certain operations.
Other Changes
- We improved systems to handle software version numbers with double digits (for example: 6.4.11).
- Some text and icon colors were changed for legibility.
- As with all releases, there is a large amount of work that happens behind-the-scenes that is either preparation for future features, code refactoring, dependency updates, and other security and performance improvements.