Giter VIP home page Giter VIP logo

panstamp's People

Contributors

dberenguer avatar mgehre avatar raimue avatar

Stargazers

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

Watchers

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

panstamp's Issues

Wireless bootloader and swapdmt.py: Node not found in data base

I flashed the bootloader to the panstamp NRG. The log of the swapdmt session is below.

Even though the panstamp nrg sends requests for firmware, it is not detected by the swapdmt. I guess that is due to the fact that there is no user firmware on the panstamp; but to get some user firmware on it, I would like to use the swapdmt.

SWAP server starting... 
Downloading Device Definition Files
Unable to update Device Definition Files
SWAP server is now running... 
>> traffic on
Rved: (492C)0117000201010B0000
Rved: (5930)0117000301010B0000
Rved: (482E)0117000401010B0000
Rved: (4A2C)0117000501010B0000
Rved: (4A31)0117000601010B0000
Rved: (4C2E)0117000701010B0000
Rved: (422F)0117000801010B0000
Rved: (482D)0117000901010B0000
Rved: (4A2D)0117000A01010B0000
Rved: (492E)0117000B01010B0000
Rved: (492E)0117000C01010B0000
Rved: (492E)0117000D01010B0000
Rved: (4A2C)0117000E01010B0000
Rved: (4930)0117000F01010B0000
Rved: (4730)0117001001010B0000
Rved: (4830)0117001101010B0000
Rved: (472F)0117001201010B0000
Rved: (432D)0117001301010B0000
>> hexfile /tmp/build3560112225624535291.tmp/binouts2.cpp.hex
>> node 0x17 program
Node not found in data base
Clear your list of nodes and restart them again
>> list nodes
No nodes detected

Rx Does not receive the first packet.

When starting the panstamp in receiving mode, the first packet is not received on first boot. Only starting to receive from the second packet. I figured out that a workaround is to transmit 1 dummy packet, then switch to receiving mode.

avrdude not found on linux with arduino 1.5.8

The location of avrdude has changed between arduino 1.5.6 and arduino 1.5.8 so avrdude is not found with the current platform.txt. Copying the arduino platform.txt over the panstamp platform.txt fixes the issue for me.

The platform.txt from 1.5.6 (and panstamp patch) has linux specifc avrdude paths like this:
tools.avrdude.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf

These were removed in arduino/Arduino@5a015b3

panStamp NRG3. Technical details picture.

In the picture where it shows the board and description of each part (1,2,3,4,5,6...), number 4 is described as both the user LED and the Program-Serial switch. This mistake needs correction.

NRG Pin mapping

From what I found out after a half day of debuggging, one cannot use analog pin A0/digital D8/cc430 P2.0, because having this pin near GND will boot into bootloader and not into application.

I now saw that it is mentioned in the section "Serial programming. Booting sequence",
but please also add a big warning in the Pin Mapping graphic in https://github.com/panStamp/panstamp/wiki/panStamp-NRG.-Technical-details. The Pin Mapping graphic implies that one can use A0/D8 just as any other pin.

Or is there any way to use A0/D8?

Wireless bootloader: Flash application to use it?

In the beginning of https://github.com/panStamp/panstamp/wiki/SWAP-firmware-loader , it is said that one only has to "make flash" in arduino/hardware/panstamp/msp430/bootloaders/rf to install the wireless bootloader.

Later on, it says
"the wireless bootloader starts and checks a specific memory location in RAM (0x2BFF). This location contains a flag that tells the bootloader whether to start the wireless upgrade or to go to user application. As you may guess, this flag is controlled by the user application so when it wants to start a wireless upgrade it turns on the flag and jumps to the SWAP loader."

That implies to me that after installing the wireless bootloader itself, one has to install an application image, too. How can one do that? And doesn't installing an application image erases the whole flash, i.e. it erases the bootloader?
Could the bootloader detect that there is no application image installed and then start the wireless upgrade?

Thanks a lot,
Matthias

OTA Firmware Upload does not work with Encryption

Currently, the Bootloader does not appear to support Encryption (specifically AES-128 with the NRG family).

This causes a problem when the user is using encryption in the User Application, but would like to use SwapDMT-cmd for OTA firmware update.

The software will need to be updated with one of the following fixes:

  1. The SwapDMT application should switch to unencrypted mode when uploading firmware
    • This might be the easiest approach, should be fixable only in the Python tools
    • However then the firmware will be transmitted unencrypted
  2. Add encryption support in the Bootloader, and store the AES key somewhere accessible from both, such as an nvram buffer
    • This would not be backwards compatible with previous versions of the bootloader
    • This would be more secure

We have developed a workaround right now by merging the encryption code from the Application's SWAP into the bootloader and recompiling, but it does not seem to be general enough to share here.

I am filing this issue here, because it may affect a few different repos (SWAP lib, Python Tools, etc).

swapdmt-cmd: does not find devices.xml

When I start swapdmt-cmd from current master,
I get "Unable to create mote: [Errno 2] No such file or directory: './config/devices/devices.xml"

I wonder why it is looking for devices.xml under panstamp/python/swapdmt-cmd/config/devices;
I see that it is under panstamp/devices/devices.xml.

If I change it by

diff --git a/python/swapdmt-cmd/config/settings.xml b/python/swapdmt-cmd/config/settings.xml
index 4c73bd7..d9f9cc4 100755
--- a/python/swapdmt-cmd/config/settings.xml
+++ b/python/swapdmt-cmd/config/settings.xml
@@ -2,7 +2,7 @@
 <settings>
   <debug>2</debug>
   <devices>
-    <local>devices</local>
+    <local>../../../devices</local>
     <remote>http://www.panstamp.org/devices/devices.tar</remote>
     <update>false</update>
   </devices>
(END)

It works correctly.

calling panstamp.init() on modem sketch causes corrupt serial output

By default the panstamp.init() call in the modem sketch is commented out. I un-commented it to set the frequency to CFREQ_918 (for Australia). When the sketch is run and using the Arduino serial monitor, the initial text "Modem Ready!" comes out corrupted, similar to what it looks like when the baud rate is wrong. Also sending data from another working panStamp to the one with the corrupted text doesn't work, nothing is output on the receiving serial monitor.

Leaving the panstamp.init() commented out and changing the frequency via panstamp.h DEFAULT_CARRIER_FREQ works fine.

My arduino IDE is 1.5.8, reproduced the problem on both linux and windows IDEs.

Repositories consistency

"devices" directory could have it's own github repository.

This way we could take advantage of github's archive url's that :

  • would prevent panStamp from having to keep http://www.panstamp.org/devices/devices.tar up to date, using something like https://github.com/panStamp/panstamp-devices/tarball/master as a "last package pointer"
  • would allow us to use versionning for this directory

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.