00001 /* 00002 * AscTec Autopilot CRC Algorithm 00003 * Copyright (C) 2010, CCNY Robotics Lab 00004 * Ivan Dryanovski <ivan.dryanovski@gmail.com> 00005 * William Morris <morris@ee.ccny.cuny.edu> 00006 * http://robotics.ccny.cuny.edu 00007 * 00008 * This program is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation, either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 */ 00021 00022 #ifndef CRC16_H 00023 #define CRC16_H 00024 00025 namespace asctec 00026 { 00027 bool crc_valid (unsigned short packet_crc, void *data, unsigned short cnt); 00028 unsigned short crc_update (unsigned short crc, unsigned char data); 00029 unsigned short crc16 (void *data, unsigned short cnt); 00030 } 00031 00032 #endif // CRC16_H