Utility functions for working with data streams

Example usage:

http://andy.dynamicbits.com/hdradio/

#include "mbed.h"
#include "checksum.h"

DigitalOut myled(LED1);

template <int T>
struct data{
    uint8_t buf[T];
    uint8_t checksum;
};

data<12> all_ones = {{1,1,1,1,1,1,1,1,1,1,1,1}};

int main() 
{
    calculateChecksum( all_ones.buf, sizeof(all_ones) );
      
    for(int i=0; i<sizeof(all_ones); i++)
    {
        printf("%02d: %d\n", i, *(all_ones.buf+i));
    }

    printf("checksum test: %s\n", (result)?"passed":"failed");

    while(1) 
    {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

Files at this revision

API Documentation at this revision

Comitter:
sam_grove
Date:
Thu Mar 07 20:59:49 2013 +0000
Parent:
0:39b5762958a4
Commit message:
More documentation updates

Changed in this revision

checksum.h Show annotated file Show diff for this revision Revisions of this file
--- a/checksum.h	Thu Mar 07 20:55:29 2013 +0000
+++ b/checksum.h	Thu Mar 07 20:59:49 2013 +0000
@@ -19,6 +19,11 @@
  * limitations under the License.
  */
  
+#ifndef CHECKSUM_H
+#define CHECKSUM_H
+
+#include <stdint.h>
+ 
 /** Helpers for working data streams
  *
  * Example:
@@ -56,11 +61,6 @@
  *  }
  * @endcode
  */
- 
-#ifndef CHECKSUM_H
-#define CHECKSUM_H
-
-#include <stdint.h>
 
 /** Calculate the checksum of a data stream
  *  Assumes the checksum is in the last position, 8-bits and 0 - the sum of data