Coder Social home page Coder Social logo

firmware's Introduction

Platypus Lutra Firmware

This repository contains Arduino firmware for Platypus electronics control boards. This firmware requires the Arduino IDE v1.6.9+ and the following Arduino libraries.

  • Arduino SAM Boards
  • Scheduler
  • ArduinoJson

Contents

  • Firmware - Embedded firmware for the Platypus Control Board.

firmware's People

Contributors

christomaszewski avatar nbbrooks avatar psigen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firmware's Issues

Fan occasionally jumps in speed or rotates when it should be facing straight

As an endurance test I ran set a boat up on the floor inside and gave it a path to follow. Gains were set at 1,0,0. The fan turned on, rotated to try to reach its target and stayed in that position. The fan would periodically (every 10-15 min?) jump to a much higher speed for a second or so then return to the limits set by the gains, potentially damaging the motor. It would also occasional rotate to a new direction and back again even though neither it nor the path had changed.

java.lang.NoSuchFieldException: hostName when initializing the boat

The code seems to get a error in initializing the boat using the server even on local host.

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at edu.cmu.ri.airboat.general.ProxyManager.createPhysicalBoatProxy(ProxyManager.java:57)
    at edu.cmu.ri.airboat.general.ConfigureBoatsFrame.createPhysicalBActionPerformed(ConfigureBoatsFrame.java:415)
    at edu.cmu.ri.airboat.general.ConfigureBoatsFrame.access$000(ConfigureBoatsFrame.java:38)
    at edu.cmu.ri.airboat.general.ConfigureBoatsFrame$1.actionPerformed(ConfigureBoatsFrame.java:153)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)

(continues on)

The first error at line 57 of Boat Proxy links to

instance.createBoatProxy(name, CrwNetworkUtils.toInetSocketAddress(host), color);

This is occurs when running the /apps/enduser program.


Exception in thread "main" java.lang.ExceptionInInitializerError
    at edu.cmu.ri.airboat.client.BoatConfig.main(BoatConfig.java:76)
Caused by: java.lang.RuntimeException: Could not find hostname field.
    at edu.cmu.ri.crw.CrwNetworkUtils.<clinit>(CrwNetworkUtils.java:164)
    ... 1 more
Caused by: java.lang.NoSuchFieldException: hostName
    at java.lang.Class.getDeclaredField(Class.java:1909)
    at edu.cmu.ri.crw.CrwNetworkUtils.<clinit>(CrwNetworkUtils.java:161)
    ... 1 more

This occurs when running just the boat client in /client/ and trying to connect to local host. The error links to line 76 of BoatConfig

SocketAddress serverAddr = CrwNetworkUtils.toInetSocketAddress(ipAddrStr);

Compass not updating when using Moto G

The direction of the boat does not change on the GUI while rotating the boat. Compass does not show up in the log files. Only happens when using the Moto G

Possibility of parse errors in the ADK USB receive call

https://github.com/platypusllc/firmware/blob/master/firmware/firmware.ino#L283

Currently, we assume that adk.read() will always receive the entire contents of a single command. This is not guaranteed, it could receive half of a packet, and append the other half to the beginning of the next read operation.

If this fragmentation continues, it can corrupt a chain of packets indefinitely if they happen to alias against the USB receive buffer size.

We should treat USB input like any other serial input:

  • read into the buffer
  • manually checking for EOL characters
  • process any completed substring
  • memmove() the unused remaining buffer

CrwNetworkUtils.toInetSocketAddress(host) returns null when clicking InitializeReal

Assim says:

Clicking initialize real doesn’t make anything. The netbeans output attached.
Isn’t the inetsocket address is created from host IP address ?!

The CrwNetworkUtils.toInetSocketAddress(host) is showing null while executing. Isn’t it supposed to show an inet address created from host IP and port number ?

While trying to add the boats to the GUI I get this error. Debug screenshot attached.
The inetsocket address doesn’t appear on CrwNetworkUtls. It shows as null.
The phone I’m trying to add is there on the network but inetsocket address is not created from the given host address.

Boats think they are spinning

Ardalan reported:

We went to the lake today with John and Jason. We set the smartphone n°5 Everything was working (gyro, gps etc...). We set a path and despite the fact the gps was a bit off everything was ok.

After a moment, the gyro start being off and it was spinning on the gui. The boat hit the shore so we took the smartphone and try to figure it out what happened.

John ran the sensor toolbox app everything seemed fine but still not respond of the gyro on the gui.

After couple attempt the gyro went back to normal and we could start path just like before. We did not disconnect neither the phone nor the boat.

I joined you the log of the whole test.

https://gist.github.com/psigen/6311552

ESC reboots at low to moderate velocities

Reproducible causes using phone or laptop teleoperation window:
Gradually increase velocity to both ESCs to 0.2: cutout will occur after ~10 seconds
Gradually increase velocity to both or one ESC: cutout will occur around 0.3
Very quickly move velocity to both ESCs: cutout will occur almost instantly.

Effects: One or both ESCs reboot, stopping the corresponding motor(s)
For Seaking ESCs, this results in beep tones corresponding to throttle related error codes or the beeps for the arming sequence codes, or the beeps for entering program mode. Which happens depends on how you manipulate the velocities being sent to the ESCs once the motors stop moving (and, presumably, the ESC has rebooted).

Test issue

This issue is just testing Zapier integration to TeamworkPM.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.