สัสชิน

Dependencies:   BEAR_Protocol_Edited_V22 BufferedSerial Debug MaxSonar PID Process QEI UI iSerial mbed

Fork of clean_V2 by Betago

Committer:
icyzkungz
Date:
Wed Jun 08 17:19:21 2016 +0000
Revision:
8:fc70c78a443b
Parent:
2:f873deba2305
??????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
palmdotax 2:f873deba2305 1 /*
palmdotax 2:f873deba2305 2 * Copyright (c) 2014, RoboPeak
palmdotax 2:f873deba2305 3 * All rights reserved.
palmdotax 2:f873deba2305 4 *
palmdotax 2:f873deba2305 5 * Redistribution and use in source and binary forms, with or without
palmdotax 2:f873deba2305 6 * modification, are permitted provided that the following conditions are met:
palmdotax 2:f873deba2305 7 *
palmdotax 2:f873deba2305 8 * 1. Redistributions of source code must retain the above copyright notice,
palmdotax 2:f873deba2305 9 * this list of conditions and the following disclaimer.
palmdotax 2:f873deba2305 10 *
palmdotax 2:f873deba2305 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
palmdotax 2:f873deba2305 12 * this list of conditions and the following disclaimer in the documentation
palmdotax 2:f873deba2305 13 * and/or other materials provided with the distribution.
palmdotax 2:f873deba2305 14 *
palmdotax 2:f873deba2305 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
palmdotax 2:f873deba2305 16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
palmdotax 2:f873deba2305 17 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
palmdotax 2:f873deba2305 18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
palmdotax 2:f873deba2305 19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
palmdotax 2:f873deba2305 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
palmdotax 2:f873deba2305 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
palmdotax 2:f873deba2305 22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
palmdotax 2:f873deba2305 23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
palmdotax 2:f873deba2305 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
palmdotax 2:f873deba2305 25 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
palmdotax 2:f873deba2305 26 *
palmdotax 2:f873deba2305 27 */
palmdotax 2:f873deba2305 28 /*
palmdotax 2:f873deba2305 29 * RoboPeak LIDAR System
palmdotax 2:f873deba2305 30 * Data Packet IO protocol definition for RP-LIDAR
palmdotax 2:f873deba2305 31 *
palmdotax 2:f873deba2305 32 * Copyright 2009 - 2014 RoboPeak Team
palmdotax 2:f873deba2305 33 * http://www.robopeak.com
palmdotax 2:f873deba2305 34 *
palmdotax 2:f873deba2305 35 */
palmdotax 2:f873deba2305 36 //#ifndef RPLIDAR_PROTOCOL_H
palmdotax 2:f873deba2305 37 //#define RPLIDAR_PROTOCOL_H
palmdotax 2:f873deba2305 38
palmdotax 2:f873deba2305 39 #pragma once
palmdotax 2:f873deba2305 40
palmdotax 2:f873deba2305 41 // RP-Lidar Input Packets
palmdotax 2:f873deba2305 42
palmdotax 2:f873deba2305 43 #define RPLIDAR_CMD_SYNC_BYTE 0xA5
palmdotax 2:f873deba2305 44 #define RPLIDAR_CMDFLAG_HAS_PAYLOAD 0x80
palmdotax 2:f873deba2305 45
palmdotax 2:f873deba2305 46
palmdotax 2:f873deba2305 47 #define RPLIDAR_ANS_SYNC_BYTE1 0xA5
palmdotax 2:f873deba2305 48 #define RPLIDAR_ANS_SYNC_BYTE2 0x5A
palmdotax 2:f873deba2305 49
palmdotax 2:f873deba2305 50 #define RPLIDAR_ANS_PKTFLAG_LOOP 0x1
palmdotax 2:f873deba2305 51
palmdotax 2:f873deba2305 52
palmdotax 2:f873deba2305 53 #if defined(_WIN32)
palmdotax 2:f873deba2305 54 #pragma pack(1)
palmdotax 2:f873deba2305 55 #endif
palmdotax 2:f873deba2305 56
palmdotax 2:f873deba2305 57 typedef struct _rplidar_cmd_packet_t {
palmdotax 2:f873deba2305 58 _u8 syncByte; //must be RPLIDAR_CMD_SYNC_BYTE
palmdotax 2:f873deba2305 59 _u8 cmd_flag;
palmdotax 2:f873deba2305 60 _u8 size;
palmdotax 2:f873deba2305 61 _u8 data[0];
palmdotax 2:f873deba2305 62 } __attribute__((packed)) rplidar_cmd_packet_t;
palmdotax 2:f873deba2305 63
palmdotax 2:f873deba2305 64
palmdotax 2:f873deba2305 65 typedef struct _rplidar_ans_header_t {
palmdotax 2:f873deba2305 66 _u8 syncByte1; // must be RPLIDAR_ANS_SYNC_BYTE1
palmdotax 2:f873deba2305 67 _u8 syncByte2; // must be RPLIDAR_ANS_SYNC_BYTE2
palmdotax 2:f873deba2305 68 _u32 size:30;
palmdotax 2:f873deba2305 69 _u32 subType:2;
palmdotax 2:f873deba2305 70 _u8 type;
palmdotax 2:f873deba2305 71 } __attribute__((packed)) rplidar_ans_header_t;
palmdotax 2:f873deba2305 72
palmdotax 2:f873deba2305 73 #if defined(_WIN32)
palmdotax 2:f873deba2305 74 #pragma pack()
palmdotax 2:f873deba2305 75 #endif