Coder Social home page Coder Social logo

dds_micro_labs_c's Introduction

Lab 1. Out Of The Box

  • Create an IDL file, then generate code
  • In the publisher code, give the sample some values, just so they are not empty

Lab 2. Deadline QoS

  • Adjust the DR QoS to add a .5s deadline (don't change DW yet)
  • Discuss why this does not work (QoS mismatch)
  • Fix the DW QoS and rerun, showing that data now flows
  • Note that we are actually not sending within the deadline period... add listener

Lab 3. Reporting A QoS Mismatch

  • In the publisher code, add a listener to report on Offered QoS incompatability
  • Set the DW deadline period to be 1.5s to cause a QoS mismatch
    • look up DDS_QosPolicyId_t in the docs and discuss

Lab 4. Load user type into Admin Console

  • set DR and DW deadline periods to 1.5s to eliminate match errors
  • create XML type representation and load into Admin Console
  • open the tool and note how all DWs are writing to the same instance
    • but it doesn't work! (change the type name in quickstartApplication.c)

Lab 5. Switch to a keyed type, and define topic name in IDL

  • modify the IDL to add //@key to the "id" member
  • add a constant for the topic name
  • call rtiddsgen again to impose the change (remember: "update", not "create")
  • modify pub and sub code to use this constant

Lab 6. Ownership

  • use admin console to view that different instances are being recognized
  • add exclusive ownership and ownership (different students use different strengths. Keyed "id" value should be set to the same )

Lab 7. Waitsets

  • modify the subscriber code to use a waitset to be notified of data
  • "recycle" the listener callback and call it when the WaitSet returns with data.
  • don't forget to remove the on_data_available listener code

BONUS LABS

Lab - FlatData

  • create a fresh user project using the flatdata idl
    • $RTIMEHOME/rtiddsgen/scripts/rtiddsgen -micro -language C++ -create typefiles -create examplefiles -create makefiles ./quickstart.idl
    • on the publisher, modify the writer code to get offsets and set sample values
    • on the subscriber, modify the DR listener to get offsets and print a couple sample values

dds_micro_labs_c's People

Contributors

dgochenour avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.