Loading ...
Sorry, an error occurred while loading the content.

ERS7 / ERS2xx cross development

Expand Messages
  • Daniel C.
    Does anyone have experience developing Tekkotsu projects to run on both the ERS7 and ERS2xx? I m working on a robotic cooperation project and have one ERS220
    Message 1 of 3 , Apr 1, 2006
    • 0 Attachment
      Does anyone have experience developing Tekkotsu projects to run on
      both the ERS7 and ERS2xx?

      I'm working on a robotic cooperation project and have one ERS220 and
      one ERS7. The same code will be running on both robots (and I have
      #ifdef TGT_ERS220 / #ifdef TGT_ERS7 blocks in my code for the small
      differences). However, I don't want to have to rebuild the entire
      framework each time I switch platforms. I'd appreciate any suggestions
      on the best way to set things up. I'm also keeping my code in a
      subversion repository so my intuition might be that there is an easy
      way to use version control to keep just the things which need to be
      separate apart.

      Thanks,

      Daniel
    • Ethan Tira-Thompson
      ... It sounds like you ve got things as good as can be expected -- the ERS7 and 2xx models unfortunately use different system binaries which prevent them from
      Message 2 of 3 , Apr 1, 2006
      • 0 Attachment
        > The same code will be running on both robots (and I have
        > #ifdef TGT_ERS220 / #ifdef TGT_ERS7 blocks in my code for the small
        > differences). However, I don't want to have to rebuild the entire
        > framework each time I switch platforms
        It sounds like you've got things as good as can be expected -- the
        ERS7 and 2xx models unfortunately use different system binaries which
        prevent them from cross-booting, and which also means you have to
        keep separate binaries. But the makefile system segregates the two
        targets within the build directory, so you should be able to switch
        targets without recompiling "everything" -- just the parts affected
        by changes since the last time you compiled for that target (i.e. you
        don't need to 'make clean' when switching targets).

        > I'm also keeping my code in a
        > subversion repository so my intuition might be that there is an easy
        > way to use version control to keep just the things which need to be
        >> separate apart. ddol
        I'm not sure what you're getting at regarding using subversion to
        separate things -- I guess you could use separate branches for files
        where each branch has target-specific code, but I think that's going
        to be more headaches than having a single branch and using #ifdefs to
        mark the the target-specific sections.

        Perhaps a better solution would be to add "aliases" for commonly used
        constants between Shared/ERS7Info.h Shared/ERS2xxInfo.h -- that
        should help reduce the need for #ifdefs elsewhere in your code.

        -ethan
      • Daniel Casner
        Ethan, Thanks for the quick response and the suggestions. I didn t realize that the makefile segregates the builds, that makes things a lot nicer. Yes I was
        Message 3 of 3 , Apr 2, 2006
        • 0 Attachment
          Ethan,

          Thanks for the quick response and the suggestions. I didn't realize that
          the makefile segregates the builds, that makes things a lot nicer. Yes I
          was thinking of using separate branches in the version control but maybe
          that won't be necessary.

          Thanks,

          Daniel C.

          Ethan Tira-Thompson wrote:
          > > The same code will be running on both robots (and I have
          > > #ifdef TGT_ERS220 / #ifdef TGT_ERS7 blocks in my code for the small
          > > differences). However, I don't want to have to rebuild the entire
          > > framework each time I switch platforms
          > It sounds like you've got things as good as can be expected -- the
          > ERS7 and 2xx models unfortunately use different system binaries which
          > prevent them from cross-booting, and which also means you have to
          > keep separate binaries. But the makefile system segregates the two
          > targets within the build directory, so you should be able to switch
          > targets without recompiling "everything" -- just the parts affected
          > by changes since the last time you compiled for that target (i.e. you
          > don't need to 'make clean' when switching targets).
          >
          > > I'm also keeping my code in a
          > > subversion repository so my intuition might be that there is an easy
          > > way to use version control to keep just the things which need to be
          > >> separate apart. ddol
          > I'm not sure what you're getting at regarding using subversion to
          > separate things -- I guess you could use separate branches for files
          > where each branch has target-specific code, but I think that's going
          > to be more headaches than having a single branch and using #ifdefs to
          > mark the the target-specific sections.
          >
          > Perhaps a better solution would be to add "aliases" for commonly used
          > constants between Shared/ERS7Info.h Shared/ERS2xxInfo.h -- that
          > should help reduce the need for #ifdefs elsewhere in your code.
          >
          > -ethan
        Your message has been successfully submitted and would be delivered to recipients shortly.