One problem though is that the base class (RFM69) already has a bunch of specific functionality built in. For example, the packet layout is fixed, and you have no direct control over address bytes, and there is no way to send raw data, the library repacks it into a specific way.
In many use cases, people may not necessarily want to use the RFM69 in the way it is currently implemented in the library. I think it would be awesome if there could be a simple RFM69Base class that is just a thin driver on top the radio, and provides a simple api for configuring and using the radio, such as sync address, payload length, sending raw data, handling radio interrupts, etc...
Then your RFM69 class can inherit from this base class, and implement all the implementation specific details needed for the way it handles sending packets, etc...
I needed just a simple radio driver for a project where I am reverse engineering a commerical product that already uses this radio. So I need methods to be able to configure every aspect of the radio. I ended up stripped all the use case specific details from the RFM69 class into a RFM69Base class. It can be seen here:
https://github.com/wizard97/BetterRFM69
I would be happy to put in the additional work of having the RFM69 class inherit from the RFM69Base class, as long as you can confirm this is a change you would accept a pull request from.
I would absolutely love to see this, I had to make a complete fork to get my protocol working, the existing protocol is a bit limited by legacy applications.
Hi, great library!
One problem though is that the base class (RFM69) already has a bunch of specific functionality built in. For example, the packet layout is fixed, and you have no direct control over address bytes, and there is no way to send raw data, the library repacks it into a specific way.
In many use cases, people may not necessarily want to use the RFM69 in the way it is currently implemented in the library. I think it would be awesome if there could be a simple RFM69Base class that is just a thin driver on top the radio, and provides a simple api for configuring and using the radio, such as sync address, payload length, sending raw data, handling radio interrupts, etc...
Then your RFM69 class can inherit from this base class, and implement all the implementation specific details needed for the way it handles sending packets, etc...
I needed just a simple radio driver for a project where I am reverse engineering a commerical product that already uses this radio. So I need methods to be able to configure every aspect of the radio. I ended up stripped all the use case specific details from the RFM69 class into a RFM69Base class. It can be seen here: https://github.com/wizard97/BetterRFM69
I would be happy to put in the additional work of having the RFM69 class inherit from the RFM69Base class, as long as you can confirm this is a change you would accept a pull request from.