Skip to content
This repository
branch: master

Jul 08, 2014

  1. Anthony Cowley

    Unit tests for message code generation.

    Test parsing, MD5 computation, and Haskell code generation for messages
    defined in the actionlib_msgs package, and a message including string
    constants (whose quotation escaping behavior is easy to get wrong!).
    
    Fixes #21
    authored
  2. Anthony Cowley

    More tweaking to quotation mark escaping.

    authored
  3. Anthony Cowley

    Define emptyMsgContext.

    authored
  4. Anthony Cowley

    Address GHC warning.

    GHC 7.8 warns that join shouldn't be shadowed when importing Prelude, so
    we explicitly hide it. This generates its own warning... so that's neat.
    authored
  5. Anthony Cowley

    Improved error messages for debugging.

    authored

Jun 28, 2014

  1. Anthony Cowley

    More string escaping fixes.

    Addresses #21
    authored

Jun 27, 2014

  1. Anthony Cowley

    Escape quotes during code generation.

    This means MD5 computation is done with the original string constant
    definition.
    
    Addresses #21
    authored

Jun 26, 2014

  1. rgleichman

    Added support for default messages. Default messages can be created b…

    …y importing Data.Default.Generics and doing (def :: <message type>).
    rgleichman authored

Jun 25, 2014

  1. Anthony Cowley

    Merge pull request #19 from rgleichman/capitalize

    Capitalize filename for message module.
    authored
  2. rgleichman

    Capitalize filename for message module.

    rgleichman authored

Jun 24, 2014

  1. Anthony Cowley

    Added code organization notes.

    authored
  2. Anthony Cowley

    Upgraded to latest binary package.

    Addressed a deprecation warning associated with the binary upgrade.
    
    Simplified various socket interactions with more consistent use of
    strict ByteStrings.
    authored
  3. Anthony Cowley

    Reorganized Node-related code.

    authored
  4. Anthony Cowley

    Reorganized ROS computation graph code.

    This encompasses the Master/Slave APIs, the Parameter Server API, and,
    eventually, the Services API.
    authored
  5. Anthony Cowley

    Reorganized Topic-related code.

    authored
  6. Anthony Cowley

    Ensure message type names are capitalized.

    We ensure that we have a valid type name in one place.
    
    Note that the only property we currently check is that the name is
    capitalized. We should also check against a list of Haskell reserved
    words.
    
    Finishes fix for #18
    authored
  7. Anthony Cowley

    Added a link to the ROS msg language reference.

    authored
  8. Anthony Cowley

    Escape quotation marks in string constants.

    I don't think removing the quotation marks is consistent with the spec,
    but it isn't entirely clear.
    
    Partially fixes #18
    authored
  9. rgleichman

    Removed the extra set of quotes from string message constants.

    rgleichman authored committed

Jun 23, 2014

  1. Anthony Cowley

    Updated TODOs and workflow notes.

    authored
  2. Anthony Cowley

    Fix Bool serialization.

    ROS specifies that we serialize booleans as a single byte, while there
    is an instance of Haskell's 'Storable' class for 'Bool' that uses four
    bytes for each boolean value. We handle individual boolean values with
    the 'RosBinary' instance for the Haskell 'Bool' type (i.e. one byte for
    each boolean). We must handle arrays of booleans specially as the
    serialized form must still be one byte per value.
    
    This approach uses Bool on the Haskell side, while serializing to and
    from ROS peers using one-byte-per-boolean for top-level boolean fields,
    variable-length arrays of boolean values, and fixed-length arrays of
    boolean values.
    
    Fixes #15
    authored
  3. Anthony Cowley

    Handle empty message files.

    Consume leading spaces and comments before trying to parse fields and
    constants. This results in a message type isomorphic to the unit type.
    
    Closes #13
    authored

Jun 19, 2014

  1. Anthony Cowley

    Finished roscpp compatibility fix.

    authored
  2. Anthony Cowley

    Bumped haxr dependency to address roscpp compat.

    Some communication with roscpp nodes was causing trouble for roshask due
    to an implicit string type annotation in XML-RPC. According to the spec,
    an XML-RPC value such as "<value></value>" should be interpreted as an
    empty string. haxr was instead looking for
    "<value><string></string></value>" for such values.
    
    I patched haxr to accept unwrapped text as a string value.
    
    Fixes #14
    authored
  3. Anthony Cowley

    Fixed bug with Bool arrays.

    While the RosBinary instance handles serialization of Haskell Bool
    values to and from a single byte, the Storable instance for Bool uses
    four bytes. A problem then occurs when we want to use a Storable Vector
    to hold boolean values. If we receive four bytes for an array of boolean
    values from a peer, that is four distinct booleans, but the Storable
    instance for Bool wants the Vector of length four to use 16 bytes.
    
    Instead, we simply map the Ros bool type to a Haskell Word8 for now.
    
    Fixes #15
    authored

Jun 18, 2014

  1. Anthony Cowley

    Slight improvement to pulling bytes from a Handle.

    authored
  2. Anthony Cowley

    Length fields are little-endian.

    This change should have no effect on x86.
    authored
  3. Anthony Cowley

    Fix and extend sandbox support.

    Fixed bug in sandbox directory detection.
    
    Unregistering roshask-generated packages now works in sandboxes.
    authored
  4. Anthony Cowley

    Add /opt/ros/hydro/bin to PATH in VM.

    authored
  5. Anthony Cowley

    Updated TODO notes.

    authored

Jun 17, 2014

  1. Anthony Cowley

    Support for working in Cabal sandboxes.

    This means that generate message definition packages are installed in
    the same sandbox as roshask itself if it is installed in a sandbox.
    authored
  2. Anthony Cowley

    We need to link with the right version of Cabal.

    We must ensure that roshask's dependency on Cabal is consistent with the
    version available when the cabal-install program runs our custom
    Setup.hs.
    
    This is fragile and probably not yet right.
    authored
  3. Anthony Cowley

    Initial support for catkin build dependencies.

    We need to find package dependencies to generate message
    definitions. These are specified somewhat differently in catkin
    package.xml files than they were in the previous build system's
    manifest.xml files.
    authored
  4. Anthony Cowley

    Loosened vector constraint on PubSub example.

    authored
  5. Anthony Cowley

    Simpler use of Typeable for Topics.

    With GHC 7.6.3, we can't derive a Typeable instance for Topic, but going
    forward hand-written Typeable instances are disallowed. Instead, we now
    dynamically type just the payload of a 'Topic IO' as this is the only
    thing we need to abstract over to deal with publishing.
    authored
Something went wrong with that request. Please try again.