Skip to content
Snippets Groups Projects

Changes needed to implement ExtCtrl2014 in TwinCAT 3.1

Open Tommy Olofsson requested to merge tommyo/labcomm:labcomm2014_tc31 into labcomm2014

Had to unwrap macros because the VS preprocessor is wrong.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Tommy Olofsson Changed title: Changes to implement ExtCtrl2014 in TwinCAT 3.1Changes needed to implement ExtCtrl2014 in TwinCAT 3.1

    Changed title: Changes to implement ExtCtrl2014 in TwinCAT 3.1Changes needed to implement ExtCtrl2014 in TwinCAT 3.1

  • The copy_static stuff is missing test-suite, won't merge before this is fixed.

    The unwrap stuff is uncontroversial, just boring (but avoids vararg macros which is a good thing).

    Why is 'LD_LIBRARY_PATH=.. $(VALGRIND) $<' needed?

    Decoder fixes seems correct, but I need to review them some more.

    LABCOMM_EXIT is not defined, hence semantics in case of errors are changed. Error handling needs some real overview instead of merging this. Write a new error handling module with the same symbols to put in your library.

    Casting void* to char* seems wrong (and not according to Posix standard).

  • Author Contributor

    The copy_static stuff is missing test-suite, won't merge before this is fixed.

    Should be easy. It's basically the same same as the non-static version with an allocation removed...

    The unwrap stuff is uncontroversial, just boring (but avoids vararg macros which is a good thing).

    Boring to maintain as well, I suppose.

    Why is 'LD_LIBRARY_PATH=.. $(VALGRIND) $<' needed?

    If I remember correctly the LIBRARY_PATH needs to be set for the tests to run instead of the dynamic linker failing.

    Decoder fixes seems correct, but I need to review them some more.

    The intent was just to check for NULL (and not dereference it).

    LABCOMM_EXIT is not defined, hence semantics in case of errors are changed. Error handling needs some real overview instead of merging this. Write a new error handling module with the same symbols to put in your library.

    Will try.

    Casting void* to char* seems wrong (and not according to Posix standard).

    I know it's ugly. MS does not (compile error to do pointer arith. with void*): https://msdn.microsoft.com/en-us/library/1kay26wa(v=vs.120).aspx

Please register or sign in to reply
Loading