I have a National Instruments (NI) GPIB-ENET/100 Ethernet-to-GPIB box in my homelab. I have used it for several years under Windows 2000, but it has reached a certain age and now, and there are practically no drivers available any more. To make things worse, it uses a proprietary Ethernet/TCP-based protocol.
As I do not have the money to keep buying GPIB adapters and I don't want to buy a new one as the GPIB-ENET/100 is working perfectly fine (as long as there is a working software stack available), I have started to reverse engineer the protocol.
I have a working python implementation and I can talk to the devices behind the GPIB-ENET/100.
Question: Would it be possible to contribute a sort of driver/protocol to this project so NI GPIB-ENET/100 would be supported out of the box?
If I made a pull request, would it have any chances of getting accepted, provided that all requirements (code style, functionality, tests, ...) check out?
Guidance beforehand, how and where to implement a rather complicated proprietary protocol would be very much appreciated. I have an idea-- but I'm uncertain if it's correct:
- create a new protocols/ni_enet.py (or similar)
- wire it into tcpip.py with a new Session class (or should it rather live in gpib.py?)
- complete all necessary interfaces, write tests/doc
I have a National Instruments (NI) GPIB-ENET/100 Ethernet-to-GPIB box in my homelab. I have used it for several years under Windows 2000, but it has reached a certain age and now, and there are practically no drivers available any more. To make things worse, it uses a proprietary Ethernet/TCP-based protocol.
As I do not have the money to keep buying GPIB adapters and I don't want to buy a new one as the GPIB-ENET/100 is working perfectly fine (as long as there is a working software stack available), I have started to reverse engineer the protocol.
I have a working python implementation and I can talk to the devices behind the GPIB-ENET/100.
Question: Would it be possible to contribute a sort of driver/protocol to this project so NI GPIB-ENET/100 would be supported out of the box?
If I made a pull request, would it have any chances of getting accepted, provided that all requirements (code style, functionality, tests, ...) check out?
Guidance beforehand, how and where to implement a rather complicated proprietary protocol would be very much appreciated. I have an idea-- but I'm uncertain if it's correct: