Permalink
Switch branches/tags
Nothing to show
Commits on Nov 5, 2014
  1. Send the "callerid" field when connecting.

    acowley committed Nov 5, 2014
    This should be an optional field, but is apparently mandatory in the
    core ROS tooling that ships with the Indigo version.
    
    The bug was discovered and fixed by @akru on github.
    
    Fixes #25
Commits on Oct 29, 2014
  1. Merge pull request #23 from rgleichman/upstreamDev

    acowley committed Oct 29, 2014
    Fix bug where empty messages could not be recieved
Commits on Jul 8, 2014
  1. Unit tests for message code generation.

    acowley committed Jul 8, 2014
    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
  2. Define emptyMsgContext.

    acowley committed Jul 8, 2014
  3. Address GHC warning.

    acowley committed Jul 8, 2014
    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.
Commits on Jun 28, 2014
  1. More string escaping fixes.

    acowley committed Jun 28, 2014
    Addresses #21
Commits on Jun 27, 2014
  1. Escape quotes during code generation.

    acowley committed Jun 27, 2014
    This means MD5 computation is done with the original string constant
    definition.
    
    Addresses #21
Commits on Jun 26, 2014
  1. Added support for default messages. Default messages can be created b…

    rgleichman committed Jun 26, 2014
    …y importing Data.Default.Generics and doing (def :: <message type>).
Commits on Jun 25, 2014
  1. Merge pull request #19 from rgleichman/capitalize

    acowley committed Jun 25, 2014
    Capitalize filename for message module.
Commits on Jun 24, 2014
  1. Upgraded to latest binary package.

    acowley committed Jun 24, 2014
    Addressed a deprecation warning associated with the binary upgrade.
    
    Simplified various socket interactions with more consistent use of
    strict ByteStrings.
  2. Reorganized Node-related code.

    acowley committed Jun 24, 2014
  3. Reorganized ROS computation graph code.

    acowley committed Jun 24, 2014
    This encompasses the Master/Slave APIs, the Parameter Server API, and,
    eventually, the Services API.
  4. Reorganized Topic-related code.

    acowley committed Jun 24, 2014
  5. Ensure message type names are capitalized.

    acowley committed Jun 24, 2014
    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
  6. Escape quotation marks in string constants.

    acowley committed Jun 24, 2014
    I don't think removing the quotation marks is consistent with the spec,
    but it isn't entirely clear.
    
    Partially fixes #18
Commits on Jun 23, 2014
  1. Fix Bool serialization.

    acowley committed Jun 23, 2014
    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
  2. Handle empty message files.

    acowley committed Jun 23, 2014
    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
Commits on Jun 19, 2014
  1. Bumped haxr dependency to address roscpp compat.

    acowley committed Jun 19, 2014
    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
  2. Fixed bug with Bool arrays.

    acowley committed Jun 19, 2014
    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
Commits on Jun 18, 2014
  1. Length fields are little-endian.

    acowley committed Jun 18, 2014
    This change should have no effect on x86.
  2. Fix and extend sandbox support.

    acowley committed Jun 18, 2014
    Fixed bug in sandbox directory detection.
    
    Unregistering roshask-generated packages now works in sandboxes.