Hi Friedrich,

acutally what you want to do is quite simple. You actually don't even need to exchange the transceiver, you could as well run your system with both of them, the at86rf + your PLC transceivers.

So if you take the gnrc_networking example as a base, and say that your PLC driver comes with all the neccessary auto_init code and board configuration (more of this below), all you need to do is:
```
USEMODULE=YOUR_PLC_DRIVER_NAME_HERE BOARD=samr21-xpro make all
```
This will build the GNRC networking example and link your PLC transceiver right in.

Now about the auto_init code: have a look at the auto_init code for the at86rf transcevier (-> sys/auto_init/netif/auto_init_at86rf2xx.c), or maybe also the code for the enc28j60 (Ethernet), as this might be closer to your PLC device. This is what you have to implement for your PLC device as well.

Regarding the parameters for your PLC driver: have a look at the device driver development guide [1], especially the part about the default parameter file. This should give you all the information you need.

Hope this is what you were looking for and happy hacking,
Hauke

[1] https://github.com/RIOT-OS/RIOT/wiki/Guide:-Writing-a-device-driver-in-RIOT


On 07.02.2017 10:59, Wiegel, Friedrich (IAI) wrote:

Hello everybody,

as part of my master thesis at the Karlsruhe Institute of Technology, I will connect a Powerline transceiver to the SAMR21 Xplained Pro platform. This one runs with RIOT OS. For the PLC transceiver, I develop the driver, which we also want to make open source.

The transceiver communicates with the host μC via API via UART. That means, the driver looks similar to the Xbee drivers from *_../RIOT/drivers/xbee/._*

After completion of the driver I would like to replace the AT86RF233 transceiver from SAM R21 Xplained Pro platform buy PLC transceiver.

*Unfortunately, until now I can't figure out how to do that. Is there any documentation that you could recommend?*

I have read all the tutorials and how-tos as well as documentation that I have found so far. I know that a driver is a module and I know how to assign a module such as shell to the makefile of some application. In the makefile.dep of the board I found the following:

*ifneq (,$(filter gnrc_netdev_default netdev_default,$(USEMODULE)))*

*  USEMODULE += at86rf233*

*Endif*

I guess I need to replace this and the SPI assignments in the *bord.h*. Is that right?

I would be very grateful for your help.

Best regards,

Friedrich Wiegel



_______________________________________________
users mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/users

_______________________________________________
users mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/users

Reply via email to