- Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
- Workaround for the compiler compatibility with empty arrays (i.e. Index 1016).
- Some fixes in Makefile.in
____ ____ ______ __ ___ ______ ____
/ __ \ / __ \ / ____/ / |/ / / ____/ / __ \
/ / / / / /_/ / / __/ / /|_/ / / __/ / / / /
/ /_/ / / _, _/ / /___ / / / / / /___ / /_/ /
\____/ /_/ |_| /_____/ /_/ /_/ /_____/ \___\_\
http://www.oremeq.qc.ca/
This is an absolute rotary encoder gateway to CANopen.
We used for this demo an absolute rotary encoder from Siemens Automation
model: 6FX2001-5SS12 , see the 6FX2001-5SS12.jpg for an idea of the look.
This Encoder work with the SSI31 protocol. The 31 mean 31 bits. And SSI
is a special version of the SPI protocol.
The pinout for this encoder is:
1=Clock -
2=Clock +
3=Data +
4=Data -
5=n.c.
6=n.c.
7=n.c.
8= ????
9=n.c.
10=n.c.
11=+10 to 30 VDC @ 250mA
12=GND
Our LPC2138 implement the SSI31 protocol to pool the encoder
and fill the DS-406 specification for CANopen.
You can find this specification at: http://www.can-cia.org/
Ask for the document: CiA DS 406 V3.1: CANopen device profile for encoder
To build this project, see $CANFESTIVAL_HOME/drivers/ecos_lpc2138_sja1000/ReadMe.txt
to prepare your environment.
See the schematic.jpg in this directory.
Enjoye!