pwm period is now 200us instead of the default 20ms veml6040 config is now AF_BIT | TRIG_BIT

Dependencies:   mbed MMA8451Q USBDevice WakeUp vt100

Fork of afero_node_suntory_2017_06_15 by Orefatoi

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CheckSum.cpp Source File

CheckSum.cpp

00001 #include "CheckSum.h"
00002 
00003 uint32_t *CheckSum::table = NULL;
00004 
00005 CheckSum::CheckSum()
00006 {
00007     reset();
00008     reset_table();
00009 }
00010 
00011 void
00012 CheckSum::reset()
00013 {
00014     checkSum = 0xFFFFFFFF;
00015 }
00016 
00017 void
00018 CheckSum::reset_table()
00019 {
00020    if(table==NULL)
00021     {
00022         table = new uint32_t[256];
00023         for (uint32_t i = 0; i < 256; i++)
00024         {
00025             uint32_t c = i;
00026             for (int j = 0; j < 8; j++)
00027             {
00028                 c = (c & 1) ? (0xEDB88320 ^ (c >> 1)) : (c >> 1);
00029             }
00030             table[i] = c;
00031         }
00032     }
00033 }
00034 
00035 void
00036 CheckSum::calc(uint8_t *buf, size_t len)
00037 {
00038     for (size_t i = 0; i < len; i++)
00039     {
00040         checkSum = table[(checkSum ^ buf[i]) & 0xFF] ^ (checkSum >> 8);
00041     }
00042 }
00043 
00044 //CheckSum::CheckSumCRC32
00045 PREFERENCES::_crc32
00046 CheckSum::get()
00047 {
00048 //    CheckSumCRC32 crc32;
00049     PREFERENCES::_crc32 ret;
00050     ret.ui32 = checkSum ^ 0xFFFFFFFF;
00051     return ret; 
00052 }