second on ethercat driver. the way it works is with a user component that
slurps up an xml config and beams it to the realtime part. (I cant remember
how it does that). I would guess that the way config is structured would be
much the same.

the ethercat driver could probably habdle CAN stuff without a ton of
modification.

On Thu, Jun 13, 2024, 10:38 AM Rod Webster <r...@vehiclemods.net.au> wrote:

> I'm not sure if this would help but I would look at what Scott Laird has
> done with the Hal Ethercat driver recently
> https://github.com/linuxcnc-ethercat/linuxcnc-ethercat
> I would try and use a similar XML to what is used for Ethercat. eg Look at
> his CIA402 driver and its settings.
> And of course, you will probably find that all the hard stuff is already
> done to support Canopen over Ethercat.
> Note this repo has a buildbot that sends the debs to the
> etherlabmaster repository where the Ethercat master is distributed from.
> And this repo is already set up in the LinuxCNC 2.9.2 ISO so its a very
> quick process to get a working ethercat build.
> Scotts a great guy and will be only too happy to help if you raise an issue
> there.
>
>
> Rod Webster
> *1300 896 832*
> +61 435 765 611
> Vehicle Modifications Network
> www.vehiclemods.net.au
>
>
> On Thu, 13 Jun 2024 at 06:38, Nicklas SB Karlsson <n...@nksb.eu> wrote:
>
> > Are currently trying to use CANopen with a device and have done some
> > development. Have until now run hard coded mappings
> > but now reached a point there configuration is needed. Implement
> graphical
> > configuration and store configuration in
> > binary format would of course be one option but have chosen a text file
> > possible to edit manually. Use maps like below.
> >
> >
> > map={.cobId=181h, .name="encoder.cnt", .dir=HAL_OUT, .type=HAL_S32,
> > .bitlen=32, .bitpos=32, .name_scaled="encoder.pos",
> > .name_gain="encoder.pos.scale", .gain=0.13}
> > map={.cobId=201h, .name="pos.cnt", .dir=HAL_IN, .type=HAL_S32,
> .bitlen=32,
> > .bitpos=0}
> >
> >
> > First field is message "identifier" for the messages on the network.
> > Second is name of hal pin. Third is hal direction.
> > Fourth is hal datatype. Fifth is length of number in message which may be
> > one for a single bit. Sixth to eigth is
> > optional, if availabe it is name of hal pin for scaled value. Seventh if
> > available is name of hal parameter for scaling
> > gain. Eigth if available is gain default value. There is probably a need
> > to add one parameter before the first to
> > identify network in case several are available.
> >
> > This should work for CANopen both over CAN networks but also over
> Ethercat
> > but are a little bit unsure about how to
> > identify the message if used over Ethercat. CAN network use rather small
> > messages 8 bytes maximum for ordinary CAN and
> > some order of magnitude larger for CAN FD, all variables in same message
> > same direction. Ethercat use much larger
> > messages and may have both inputs and outputs in "same" message, message
> > is sent in a ring similar principle as cascaded
> > shift register so outputs is written in message before sent while inputs
> > are read from message then it arrive back. Need
> > for mapping is same so should hovewer be possible to use same syntax in
> > configuration file.
> >
> > Syntax in configuration file is currently more or less as an array in C
> as
> > I copied the hard coded mappings from C to
> > configuration file. Have a simple first far from perfect implementation
> or
> > hack that read the mappings from the
> > configuration file. Anybody have any suggestions about the syntax for the
> > configuration file? There is some more or less
> > standard to write down these kind of mappings for CANopen I have missed?
> > Any parser in Linuxcnc which may be reused to
> > read this configuration file possible with other syntax?
> >
> >
> > There is also sometimes a need for a "configuration script" before nodes
> > enter mode of operation normal. First idea is
> > to borrow the CANopen CiA309-3 standard and simply enter the command(s)
> in
> > a file, possible same file as used for the
> > mapping. Anybody have any other suggestion?
> >
> >
> > Regards Nicklas Karlsson
> >
> >
> >
> > _______________________________________________
> > Emc-developers mailing list
> > Emc-developers@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-developers
> >
>
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>

_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to