Commit Graph

33 Commits (3bc63d60c8148ce6921fe25d2591adcfc3727bf5)

Author SHA1 Message Date
Ivo Houtzager 696141398c
Merge branch 'master' into master 2024-01-13 15:42:04 -08:00
Andreas Karlsson f63bca476d Fix esc_coe Wconversion warnings
- make "size" variables not reflecting hardware or protocol
  uint32_t.

- change size_t to uint32_t to avoid conversion when compiling
  on x64

- add excplcit typecaste for uint8_t and uint16_t that need it
  due to integer promotion

- split assignment using macros and bitwise operations to avoid
  imlicit conversion and need of explicit conversion.

- add excplicit typecast to htoe MACROs
2023-03-28 21:17:59 +02:00
Andreas Karlsson 97472108e3 Add reference to objectlist in SM mappings
Rationale, users might need more info on what
object it is that is mapped. Having a reference to
objectlist enable the user to know what index it is
and got a reference to the entire object. The obj
only know what subindex it is.

fixes #137
2023-02-27 13:50:42 +01:00
Andreas Karlsson fd6dbdf188 Don't force packing of objd/objectlist stucts
objd/objectlist don't map to any EtheCAT protocol
headers, hence they don't need to be packed.

Pro and conns for packing or not.

Packed structs give optimized smaller size of ObjectDictionary.

Unpacked structs give optimized performance when iterating and
accessing processdata pointers.

Unpacked give more toolchain portable code.
2023-02-27 13:48:30 +01:00
Andreas Karlsson 3bb489469b Add support for CoE flags requried by MFC2020
Backup
Settings
RWop
RWpre_safe

(defined in ETG1000-6)

fixes #142
2023-02-27 13:48:30 +01:00
iwoodsawyer 64385e592c Add define USE_MBX to disable mailbox support 2021-05-03 22:13:18 -07:00
Lars Danielsson 87b2c1eb93 Fix for very large objects (with Complete Access)
Change-Id: I95c7b0f73e581ef6dace14e9b8f02ceff50f38ca
2020-10-26 10:57:51 +01:00
Lars Danielsson c814d2dacf Allow the pre_object_upload_hook to modify size
Change-Id: Ia95a1e8e3ba7e6bde3286f4eb15f8ba7f0cb85b2
2020-10-19 14:21:09 +02:00
Lars Danielsson 74d710b8b7 Add more data types which may have flexible length
Change-Id: Ia78d89adfb4017e970ace7fdf0b1bccffc8ac357
2020-09-28 15:41:27 +02:00
Lars Danielsson c0d3e17bcf Export function SDO_findobject()
Change-Id: I30b1c3b6a47111c1305aaa310bfdd882951689a1
2020-09-16 12:59:58 +02:00
Lars Danielsson aee9bf569b Export function SDO_findsubindex()
Change-Id: I79a364687510a9869c4c9287121093e3a2f003b9
2020-09-09 15:43:43 +02:00
Lars Danielsson 86c17dbb14 Add handling of write-only objects
Change-Id: I9bfdb11c5d1d83cb2c23115e204ffe6875b4457b
2020-08-19 14:49:16 +02:00
Lars Danielsson 78871af81b Add data types BITARR8/16/32
Change-Id: Id8c75ff095cdee5d167df33ab3a80912a325adc7
2020-08-12 13:34:39 +02:00
Lars Danielsson 81ff180e7e Add SDO Complete Access
Limitation: Download SDO Segment is not supported.

Change-Id: I74daccd2a2ce4cf9aa8bb1e46cf6ac1478d5bdd5
2020-07-07 13:11:49 +02:00
Lars Danielsson 2296b55812 Add/extend support for upload and download callbacks 2020-06-22 15:01:06 +02:00
Hans-Erik Floryd f61e77a5d1 revert to 32-bit objd values
The size of the objd->value member was previously increased to 64-bit
to allow setting 64-bit default values. This may waste some (ROM)
memory as 64-bit values are somewhat uncommon, and the value can be
set from an application hook instead. Revert to 32-bit values.

Fix #59
2019-07-10 12:05:23 +02:00
Hans-Erik Floryd d204255ad3 update objecthandler and hooks
Replace isCA with a set of flags to hold more data.

The pre_object_download_hook should return a COE abort code which is
an unsigned 32-bit value.
2019-05-09 15:43:07 +02:00
Hans-Erik Floryd 5b33b077ca add support for dynamic pdos
Add support for dynamic pdos, i.e. pdos that can be configured by the
EtherCAT master.
2019-05-09 15:43:07 +02:00
Andreas Karlsson 6fb665a701 Update App to use new DC checks, set error function, SM watchdog, fixed EEPROM delayed write and move generic slave functionallity to generic SOES 2019-05-09 15:43:07 +02:00
Andreas Karlsson ca48f9db21 Move DC config to the applications 2019-05-09 15:43:07 +02:00
rtlaka 879bfa034c Add macro support for MSVC like packed 2017-10-25 14:41:07 +02:00
rtlaka 148cdba265 Add IRQ with SM/DC sync0 support 2017-10-25 14:38:38 +02:00
rtlaka 7715a2fffd extend esc_config for generic stack configuration 2017-10-25 14:31:30 +02:00
rtlaka 036fb47dc3 Put a brief license info in source files and bump version 2017-10-25 13:39:20 +02:00
Hans-Erik Floryd 02cb5c79e2 Use ATYPE_RO
Accesstypes ro and rw are defined in the ESI schema.
2015-05-25 11:48:58 +02:00
Hans-Erik Floryd 1dd230f742 use C99 types 2015-05-21 10:42:10 +02:00
Hans-Erik Floryd a5ac194e2c cleanup 2015-05-21 10:13:06 +02:00
Hans-Erik Floryd 4abe6e0f6c remove nil, use the standard NULL 2015-05-21 10:12:45 +02:00
Hans-Erik Floryd b133bc7f97 add compiler abstraction header 2015-05-20 13:13:54 +02:00
Hans-Erik Floryd 134d2eb20b clean license headers 2015-05-20 11:47:50 +02:00
Hans-Erik Floryd 6fb9c84107 use cc.h 2015-05-18 16:54:09 +02:00
Hans-Erik Floryd 6b9aa5a343 decouple stack from application 2015-05-13 17:02:01 +02:00
Mikael Heden fbe99a8ab7 Imported Arthur Ketels' SOES (hg: ea7f05102d58) 2014-09-12 16:01:33 +02:00