Skip to main content

Posts

Showing posts with the label Sunspot

Sunspot: Reset button doesn't work

1. Disconnect the Sun SPOT from the USB cable 2. Kill all the ant and java processes listening on the port 3. Hold the control button in for a few seconds until a double red flash indicates that the Sun SPOT has powered down (NB doing this *after* disconnecting). 4. Type this command at a command prompt: ant -Dport=xxx upgrade where xxx is the port name 5. Plug it in as soon as the ant script starts to complain that the port isn't available. *Don't* push the reset button: this isn't necessary and may confuse. 

Sunspot: Power controller

https://www.sunspotworld.com/forums/viewtopic.php?p=8064&sid=b80a20f95ee74e2e3826834f25d542a6 https://www.sunspotworld.com/forums/viewtopic.php?t=306&highlight=energy http://www.sunspotworld.com/docs/Orange/javadoc/com/sun/spot/peripheral/IPowerController.html#getVbatt()

SunSpot: MovementDetection

Problem: Method "thresholdExceeded" always works even though we didn't move the spot or move the spot when it is in deepsleep. Cause: I suppose that the events occurred when we do move and wait for sending the messages when the receiver is available. Solution: Disable ThresholdEvent before starting in deepsleep mode -- accel.enableThresholdEvents(IAccelerometer3D.ALL_AXES, false);

SunSpot: UnableToDeepSleep

Problem: When we use sleepMgr.ensureDeepSleep(...), it goes to UnableToDeepSleepException even we don't have any thread running. The error says that "another thread is runnable within x", Cause: Because of many system threads which run from time to time, sunspot won't let us do ensuredeepsleep. Solution: We just call the command to block every thread running which is Thread.sleep(...) or Utils.sleep(...). Then, the spot will go to deepsleep. Note: In my experiment, OTA doesn't affect with deepsleep mode. References: https://www.sunspotworld.com/forums/viewtopic.php?p=7755

SunSpot: Ant command

To display remote system out : ant run -DremoteId=xxxx.xxxx.xxxx.xxxx ant -DremoteId=xxxx.xxxx.xxxx.xxxx echo To display all spot info in range: ant hello To display info of connected spot: ant info To enable OTA: ant enableota To see output of spot: ant echo -DremoteId=xxxxx.xxxx.xxxx.xxxx To check sdk version: ant sdk-info To upgrade sdk: ant upgrade To make sure the basestation running: ant startbasestation To flashbootloader: ant flashbootloader