Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The app is using React and TypeScript, and it’s developed based on this example app from farm-ng.

...

Useful links:

Developing Custom Applications

Custom Applications Manifest

Custom Apps / Services Troubleshooting

Monitor App

...

How to test the app on the BenchBot

...

If you haven’t got access to the brain, please read this article first and follow the instructions to get your access to brain:

Access and Develop on the Brain

Run the app on the BenchBot

When ever make any changes on the frontend, first make sure the brain has the latest changes (either develop directly on the brain or use git pull to get changes), then run following command on front_end folder:

Code Block
.\rebuild_and_install.shnpm run build

This script would auto start building and install process to build the app with changes. You the frontend with latest changes. After that just click the BenchBot App button on the brain to start the app.

Sometimes the latest changes may not get updated on the brain, you might need to reboot the brain to get the updates.

Show app logs

Run the following command to show a full list of logs of the app.

Code Block
journalctl -f --user-unit example-app.service

...

How to contribute to the frontend:

...

There are 4 main pages for the app temporarily.

Manual Control page:

This page is for manually control the BenchBot to move on a single axis, move to a specific given location, or test taking image functionality.

Given X, Y, Z value in the textbox, click ‘+X’ to move the BenchBot left and ‘-X’ to move right, same as Y and Z axis. All of the moved moves will be logged out in the logs text field.

Camera Config page:

This page is used to setup the IP address and port, it’s still under construction.

Species Map page:

This page is used for setup species map for the BenchBot. You can initiate, update or delete the map.

When first time visit the page, set up the map configs at the Map Setting part, then select a species and set rows.

Click ‘Add Species’ to add a In the Add Species part, select the species and rows to add, then click Add Species button to add exact rows of species to the map, the app would show a map for the species on the side. Click ‘Undo’ .

Click Undo button to undo the operation.

The ‘Reset’ Reset button would reset clear the whole map, and ‘Save’ .

The Save button would save the map to localStorage.Update the backend, it can also clear the map state after a traversal.

The app would show a map for the species on the side, update every single pot using the dropdown to select different species, or remove the species on the just change it to an empty pot.

If clicked ‘Save’, the pot map would be saved in localStorage so After setup the map, next time visit this page the previous map would automatically loadloaded.

Traversal page:

This page is used for user to see the real time updates of the traversal, there are two buttons to control start or and pause the traversal. And the logs and image preview will show on the left of the screen. The species map user have edited will be show on the right of the screen, when traversal starts, each pot would have 5 6 stages and will show a have different colorcolors:

unvisited = white, nextVisit = yellow, visiting = green, visited/skipped = gray, failed = red, so the user would have a direct view of the traversal process.

When click the pause button or exit the page, the traversal will be automatically paused , and will save current data in localStoragecurrent state would be saved, so when the user enter next time visit this page it will automatically load the data.