Skip to content

Discussion notes 2019-05-12 #47

@thomasloven

Description

@thomasloven

Some notes after discussions among devs on 2019-05-12.

Here's some things I think we agreed on

  • We wish to add some form of remote control interface to LIAM.
  • Modularity is important. This should in no way be required for normal operation.
  • We want a simple interface with remote modules plugging in to the "bluetooth" port of the top shield to handle the external communication. This requires a serial interface.

The interface(s) should be able to:

  • Report status (Battery, operation mode, errors)
  • Change the operation mode of the mower
  • Be human readable (to an extent - e.g. B:11998;M:2;E:0 is ok, binary data is not)

We also discussed storing configuration settings in the eeprom of the arduino.

Some of my own thoughts:

Roadmap

Define the serial interface and set up a method

The display library is definitely the best place to put this.
I propose we rename it "Interface" and let it take responsibility for communication both ways. Be it through a serial connection of through an LCD and physical buttons on the machine.

We should also retract the recommendation to not override the MYSIDPLAY::update() function. I believe the thought was that the interface should be consistent, but it's very limiting.

A new parameter for the operation mode will have to be added to the constructor as well.

Add operation modes

E.g. AUTO/GO/HOME/PAUSE/(DEBUG)
This can be done in parallell with the serial interface.

Some thought will need to go into the details of the behavior. If the mower is docked, and sent the GO command, should it go immediately, or should it wait until the battery is fully charged?

Reference implementation of control interface

I don't have much ideas here... This could be something really really simple, like plugging in an esp01 with esp-link and a command line interface to control it from a PC, or it could be a esp32 running a full web interface...

Configuration storage

As was mentioned, storing configuration options in eeprom would allow distributing precompiled hex files, ready to upload to the mower.

A possible problem with storing configuration in EEPROM is that it requires a communication interface to set them. Unless we can come up with a way to override default settings only if defined in EEPROM... or something...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions