Skip to content

boards/waspmote-pro: porting for new libelium's Waspmote PRO v1.2 platform#5301

Merged
kYc0o merged 1 commit intoRIOT-OS:masterfrom
kYc0o:waspmote-pro
Jul 5, 2016
Merged

boards/waspmote-pro: porting for new libelium's Waspmote PRO v1.2 platform#5301
kYc0o merged 1 commit intoRIOT-OS:masterfrom
kYc0o:waspmote-pro

Conversation

@kYc0o
Copy link
Copy Markdown
Contributor

@kYc0o kYc0o commented Apr 12, 2016

A port for Waspmote PRO v1.2 from libellium. It is almost completely based from the Arduino MEGA 2560 port, since they share the same atmega CPU family (atmega1281).

@kYc0o kYc0o added State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Type: new feature The issue requests / The PR implemements a new feature for RIOT Platform: AVR Platform: This PR/issue effects AVR-based platforms labels Apr 12, 2016
@kYc0o kYc0o added this to the Release 2016.07 milestone Apr 12, 2016
@kYc0o kYc0o changed the title Waspmote pro boards/waspmote-pro: porting for new libelium's Waspmote PRO v1.2 platform Apr 12, 2016
@emmanuelsearch
Copy link
Copy Markdown
Member

compiled, flashed and tested default example on my WaspMote. Shell + basic commands (ps, help, reboot) work.

@kaspar030
Copy link
Copy Markdown
Contributor

@emmanuelsearch Could you try some of the timer tests?

@kaspar030
Copy link
Copy Markdown
Contributor

@emmanuelsearch Could you try some of the timer tests?

scratch that, they probably fail in similar ways as on arduino-2560.

@emmanuelsearch
Copy link
Copy Markdown
Member

@kaspar030 I think @kYc0o is looking into that. Will test as soon as you tell me to!

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Apr 13, 2016

xtimer works but a very specific initialisation ticks, for instance now is working at XTIMER_USEC_TO_TICKS(57600ul) thus we need a way to specify lower speeds for slower boards.

@kYc0o kYc0o added the State: waiting for other PR State: The PR requires another PR to be merged first label Jun 7, 2016
@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 7, 2016

waiting for #5529 to factorise the code.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 15, 2016

Just updated the code to make it consistent with #5529 and #5537, will need rebase after merging those PRs.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 23, 2016

Updated and ready for review @emmanuelsearch ! However, xtimer is not working (hardware timers work very well though), because the default initialisation (1000000 ticks) is not compatible with the board frequency (14745600). Maybe @kaspar030 can help?

@kYc0o kYc0o added CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable and removed State: waiting for other PR State: The PR requires another PR to be merged first State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet labels Jun 23, 2016
@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 28, 2016

@kYc0o, first try on my side on Linux, the port is not /dev/ttyACM0 but /dev/ttyUSB0.

@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 28, 2016

@kYc0o, I'm trying to test the xbee on the board. Is there some specific code to add.
I already tried to add USE_MODULE += xbee in the gnrc_minimal example but it fails with the error:

auto_init_xbee.c:27:25: fatal error: xbee_params.h: No such file or directory
 #include "xbee_params.h"

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 28, 2016

Did you uncomment this line?

@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 28, 2016

Did you uncomment this line?

Just did that plus the lines mentioned above. It does build now but no IP address is displayed in the terminal.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 28, 2016

As the XBee socket on this board is shared with the USB output, you need to specify another serial port for STDOUT. You can see here that a physical mux is used to select between the XBee socket and the USB output.

This can be done by uncommenting this line and commenting this. For now is the solution I propose, but maybe it's worth considering to manage that using CFLAGS.

You maybe need to specify UART1 for the STDIO here, since UART0 will be used by the XBee.

@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 28, 2016

This can be done by uncommenting this line and commenting this. For now is the solution I propose, but maybe it's worth considering to manage that using CFLAGS.

You can use #ifdef MODULE_XBEE in the code to choose the right MUX.

@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 29, 2016

For the record, I could have the second UART working when the XBee is initialized but no packet is received when running the gnrc_minimal example. Also the UART can work only if one initializes the xtimer with the correct value (default is 1000000), e.g 921600 here.

Maybe you can issue a PR for making the xtimer init value customizable (using an #ifndef).

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 4, 2016

A PR for the XTIMER issue was made, I'll also open an issue to explain why we need that here and try to find a solution. Besides that I think this is in a stable state and can be merged.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 4, 2016

The manual configuration for the MUXes in the board to select the UART is now done automatically, and it's switched when the XBee port is used.

@emmanuelsearch
Copy link
Copy Markdown
Member

emmanuelsearch commented Jul 4, 2016

tested on my Waspmote. Default example and perish_timer test work.
(assuming I initialize the timer speed to 230400 instead of 1000000).

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 4, 2016

Ok great, that initialisation is necessary since the clock on the waspmote is not compatible with 1MHz. So I'll squash and wait for an ACK and Murdock ;)

@emmanuelsearch
Copy link
Copy Markdown
Member

emmanuelsearch commented Jul 4, 2016

Since this is new supported hardware and the issue for xtimer is already open, I'm inclined to ACK (assuming Murdock does not complain etc.)

@emmanuelsearch
Copy link
Copy Markdown
Member

please squash.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 4, 2016

squashed and put Murdock to look into it

@kYc0o kYc0o added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable labels Jul 4, 2016
@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 5, 2016

Murdock failed because the waspmote wasn't blacklisted for the tests it is not able to pass. Added a commit to fix that and restarting Murdock.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 5, 2016

Murdcok green -> GO!

@kYc0o kYc0o merged commit d400570 into RIOT-OS:master Jul 5, 2016
@kYc0o kYc0o deleted the waspmote-pro branch July 5, 2016 12:07
@maribu
Copy link
Copy Markdown
Member

maribu commented May 3, 2024

This board has been plagued by broken timer configuration a few times. And to be honest the board support is not up to our standard and has no documentation at all.

To my knowledge @jdavid is the only users of this board and new boards can be only obtained under the new Plug&Sense name with a fancy case and sensors for thousands of EUR.

Are there more users besides @jdavid using the boards? If not, maybe we should consider dropping the board?

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented May 3, 2024

It's been longtime I haven't seen the timer changes etc, and so far I remember it was already complicated to get a timer running correctly, due to the "weird" clocking configuration. Dropping support seems the most sensible in this case unfortunately...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: AVR Platform: This PR/issue effects AVR-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants