few weeks ago, I starded connecting 2 ethernet adapters; reading EtherCard library, fearfull about moving static elements to classes and objects, I prefeered to “copy” the original in a new one totaly independant.
I hope the work is finished.
Attached zip file contains two libraries: EtherCardOctopus_xxx and EtherCardOctopus_yyy.
It is easy to build a new one:
- dupplicate EtherCardOctopus_xxx folder, may be as EtherCardOctopus_third
- rename file EtherCardOctopus_xxx.h as EtherCardOctopus_third.h
- in file “forgeEtherCard.h” modify the definition of XYZ as _third
it is done!
Of course, available RAM will limit the number of devices connected.
As a bypass, you mays direct some library to use a “global buffer” allocted in your main. Give his name in the definition of the macro “USINGGLOBALBUFFER” (in file “forgeEthercard.h”)
In these conditions, each Enc28J60 will use 100 bytes of ram & 2000 of ROM.
I wrote some lines (in French): AntiGuide:ArduinoEtherCardOctopus
At this time, my project is to build a “tunnel” from home to personnal remote brewery, allowing to traffic usb over ethernet (themometers and some relays).
It may also be used to build a “true” ethernet hub (repeating packets on all lines) with -may be- a copy on a monitor port.
Octopus_20140222-1711.zip (149 KB)