├── README.md ├── YDLIDAR ARDUINO.docx ├── YDLidar.cpp ├── YDLidar.h ├── doc ├── html │ ├── 236943808.ico │ ├── _queue_list_8h_source.html │ ├── _y_d_lidar_8h_source.html │ ├── annotated.html │ ├── arrowdown.png │ ├── arrowright.png │ ├── bc_s.png │ ├── bdwn.png │ ├── class_queue_list-members.html │ ├── class_queue_list.html │ ├── class_y_d_lidar-members.html │ ├── class_y_d_lidar.html │ ├── class_y_d_lidar__coll__graph.map │ ├── class_y_d_lidar__coll__graph.md5 │ ├── class_y_d_lidar__coll__graph.png │ ├── classes.html │ ├── closed.png │ ├── dir_2fcb1c26d0d02a3b516af9361a485840.html │ ├── dir_bfccd401955b95cf8c75461437045ac0.html │ ├── dir_d28a4824dc47e487b107a5db32ef43c4.html │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.png │ ├── dynsections.js │ ├── files.html │ ├── folderclosed.png │ ├── folderopen.png │ ├── graph_legend.html │ ├── graph_legend.md5 │ ├── graph_legend.png │ ├── index.html │ ├── jquery.js │ ├── logo.ico │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── open.png │ ├── search │ │ ├── all_0.html │ │ ├── all_0.js │ │ ├── all_1.html │ │ ├── all_1.js │ │ ├── all_2.html │ │ ├── all_2.js │ │ ├── all_3.html │ │ ├── all_3.js │ │ ├── all_4.html │ │ ├── all_4.js │ │ ├── all_5.html │ │ ├── all_5.js │ │ ├── all_6.html │ │ ├── all_6.js │ │ ├── classes_0.html │ │ ├── classes_0.js │ │ ├── classes_1.html │ │ ├── classes_1.js │ │ ├── classes_2.html │ │ ├── classes_2.js │ │ ├── classes_3.html │ │ ├── classes_3.js │ │ ├── classes_4.html │ │ ├── classes_4.js │ │ ├── classes_5.html │ │ ├── classes_5.js │ │ ├── classes_6.html │ │ ├── classes_6.js │ │ ├── close.png │ │ ├── mag_sel.png │ │ ├── nomatches.html │ │ ├── search.css │ │ ├── search.js │ │ ├── search_l.png │ │ ├── search_m.png │ │ ├── search_r.png │ │ └── searchdata.js │ ├── splitbar.png │ ├── structcmd__packet-members.html │ ├── structcmd__packet.html │ ├── structdevice__health-members.html │ ├── structdevice__health.html │ ├── structdevice__info-members.html │ ├── structdevice__info.html │ ├── structlidar__ans__header-members.html │ ├── structlidar__ans__header.html │ ├── structnode__info-members.html │ ├── structnode__info.html │ ├── structnode__package-members.html │ ├── structnode__package.html │ ├── structsampling__rate-members.html │ ├── structsampling__rate.html │ ├── structscan__frequency-members.html │ ├── structscan__frequency.html │ ├── structscan__rotation-members.html │ ├── structscan__rotation.html │ ├── structscan_point-members.html │ ├── structscan_point.html │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ ├── tabs.css │ └── v8stdint_8h_source.html └── latex │ ├── Makefile │ ├── annotated.tex │ ├── class_queue_list.tex │ ├── class_y_d_lidar.tex │ ├── class_y_d_lidar__coll__graph.md5 │ ├── class_y_d_lidar__coll__graph.pdf │ ├── dir_2fcb1c26d0d02a3b516af9361a485840.tex │ ├── dir_bfccd401955b95cf8c75461437045ac0.tex │ ├── dir_d28a4824dc47e487b107a5db32ef43c4.tex │ ├── doxygen.sty │ ├── refman.tex │ ├── structcmd__packet.tex │ ├── structdevice__health.tex │ ├── structdevice__info.tex │ ├── structlidar__ans__header.tex │ ├── structnode__info.tex │ ├── structnode__package.tex │ ├── structsampling__rate.tex │ ├── structscan__frequency.tex │ ├── structscan__rotation.tex │ └── structscan_point.tex ├── examples ├── ConnectYDLidar │ └── ConnectYDLidar.ino └── YDLidar_SerialEvent │ ├── QueueList.h │ └── YDLidar_SerialEvent.ino ├── inc └── v8stdint.h ├── keywords.txt └── library.properties /README.md: -------------------------------------------------------------------------------- 1 | # ydlidar_arduino 1.0.0 2 | the ydlidar driver for arduino 3 | -------------------------------------------------------------------------------- /YDLIDAR ARDUINO.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/YDLIDAR ARDUINO.docx -------------------------------------------------------------------------------- /YDLidar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * YDLIDAR Driver for Arduino 3 | * eaibot.com 4 | * 5 | * Copyright (c) 2018, EAI 6 | * All rights reserved. 7 | */ 8 | 9 | #pragma once 10 | 11 | #include "Arduino.h" 12 | #include "inc/v8stdint.h" 13 | 14 | 15 | #define LIDAR_CMD_STOP 0x65 16 | #define LIDAR_CMD_SCAN 0x60 17 | #define LIDAR_CMD_FORCE_SCAN 0x61 18 | #define LIDAR_CMD_RESET 0x80 19 | #define LIDAR_CMD_FORCE_STOP 0x00 20 | #define LIDAR_CMD_GET_EAI 0x55 21 | #define LIDAR_CMD_GET_DEVICE_INFO 0x90 22 | #define LIDAR_CMD_GET_DEVICE_HEALTH 0x92 23 | #define LIDAR_CMD_SYNC_BYTE 0xA5 24 | #define LIDAR_CMDFLAG_HAS_PAYLOAD 0x8000 25 | 26 | #define LIDAR_ANS_TYPE_DEVINFO 0x4 27 | #define LIDAR_ANS_TYPE_DEVHEALTH 0x6 28 | #define LIDAR_ANS_SYNC_BYTE1 0xA5 29 | #define LIDAR_ANS_SYNC_BYTE2 0x5A 30 | #define LIDAR_ANS_TYPE_MEASUREMENT 0x81 31 | 32 | #define LIDAR_RESP_MEASUREMENT_SYNCBIT (0x1<<0) 33 | #define LIDAR_RESP_MEASUREMENT_QUALITY_SHIFT 2 34 | #define LIDAR_RESP_MEASUREMENT_CHECKBIT (0x1<<0) 35 | #define LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT 1 36 | #define LIDAR_RESP_MEASUREMENT_ANGLE_SAMPLE_SHIFT 8 37 | 38 | 39 | #define LIDAR_CMD_RUN_POSITIVE 0x06 40 | #define LIDAR_CMD_RUN_INVERSION 0x07 41 | #define LIDAR_CMD_SET_AIMSPEED_ADDMIC 0x09 42 | #define LIDAR_CMD_SET_AIMSPEED_DISMIC 0x0A 43 | #define LIDAR_CMD_SET_AIMSPEED_ADD 0x0B 44 | #define LIDAR_CMD_SET_AIMSPEED_DIS 0x0C 45 | #define LIDAR_CMD_GET_AIMSPEED 0x0D 46 | #define LIDAR_CMD_SET_SAMPLING_RATE 0xD0 47 | #define LIDAR_CMD_GET_SAMPLING_RATE 0xD1 48 | 49 | #define LIDAR_STATUS_OK 0x0 50 | #define LIDAR_STATUS_WARNING 0x1 51 | #define LIDAR_STATUS_ERROR 0x2 52 | 53 | #define PackageSampleBytes 2 54 | #define PackageSampleMaxLngth 0x80 55 | #define Node_Default_Quality (10<<2) 56 | #define Node_Sync 1 57 | #define Node_NotSync 2 58 | #define PackagePaidBytes 10 59 | #define PH 0x55AA 60 | 61 | 62 | typedef enum { 63 | CT_Normal = 0, 64 | CT_RingStart = 1, 65 | CT_Tail, 66 | }CT; 67 | 68 | struct node_info { 69 | uint8_t sync_quality; 70 | uint16_t angle_q6_checkbit; 71 | uint16_t distance_q2; 72 | } __attribute__((packed)) ; 73 | 74 | struct node_package { 75 | uint16_t package_Head; 76 | uint8_t package_CT; 77 | uint8_t nowPackageNum; 78 | uint16_t packageFirstSampleAngle; 79 | uint16_t packageLastSampleAngle; 80 | uint16_t checkSum; 81 | uint16_t packageSampleDistance[PackageSampleMaxLngth]; 82 | } __attribute__((packed)) ; 83 | 84 | 85 | struct device_info{ 86 | uint8_t model; 87 | uint16_t firmware_version; 88 | uint8_t hardware_version; 89 | uint8_t serialnum[16]; 90 | } __attribute__((packed)) ; 91 | 92 | struct device_health { 93 | uint8_t status; 94 | uint16_t error_code; 95 | } __attribute__((packed)) ; 96 | 97 | struct sampling_rate { 98 | uint8_t rate; 99 | } __attribute__((packed)) ; 100 | 101 | struct scan_frequency { 102 | uint32_t frequency; 103 | } __attribute__((packed)) ; 104 | 105 | struct scan_rotation { 106 | uint8_t rotation; 107 | } __attribute__((packed)) ; 108 | 109 | struct cmd_packet { 110 | uint8_t syncByte; 111 | uint8_t cmd_flag; 112 | uint8_t size; 113 | uint8_t data; 114 | } __attribute__((packed)) ; 115 | 116 | struct lidar_ans_header { 117 | uint8_t syncByte1; 118 | uint8_t syncByte2; 119 | uint32_t size:30; 120 | uint32_t subType:2; 121 | uint8_t type; 122 | } __attribute__((packed)); 123 | 124 | struct scanPoint { 125 | uint8_t quality; 126 | float angle; 127 | float distance; 128 | bool startBit; 129 | }; 130 | 131 | 132 | #if defined(_WIN32) 133 | #pragma pack(1) 134 | #endif 135 | 136 | 137 | //YDLidar class 138 | class YDLidar 139 | { 140 | public: 141 | enum { 142 | SERIAL_BAUDRATE = 115200, 143 | DEFAULT_TIMEOUT = 500, 144 | }; 145 | //construct 146 | YDLidar(); 147 | //destructor 148 | ~YDLidar(); 149 | 150 | // open the given serial interface and try to connect to the YDLIDAR 151 | bool begin(HardwareSerial &serialobj, uint32_t baudrate =SERIAL_BAUDRATE); 152 | 153 | // close the currently opened serial interface 154 | void end(void); 155 | 156 | // check whether the serial interface is opened 157 | bool isOpen(void); 158 | 159 | // ask the YDLIDAR for its health info 160 | result_t getHealth(device_health & health, uint32_t timeout = DEFAULT_TIMEOUT); 161 | 162 | // ask the YDLIDAR for its device info like the serial number 163 | result_t getDeviceInfo(device_info & info, uint32_t timeout = DEFAULT_TIMEOUT); 164 | 165 | // stop the scanPoint operation 166 | result_t stop(void); 167 | 168 | // start the scanPoint operation 169 | result_t startScan(bool force = false, uint32_t timeout = DEFAULT_TIMEOUT*2); 170 | 171 | // wait for one sample package to arrive 172 | result_t waitScanDot(uint32_t timeout = DEFAULT_TIMEOUT); 173 | 174 | // retrieve currently received sample point 175 | const scanPoint & getCurrentScanPoint(void) 176 | { 177 | return point; 178 | } 179 | 180 | protected: 181 | // send ask commond to YDLIDAR 182 | result_t sendCommand(uint8_t cmd, const void * payload = NULL, size_t payloadsize = 0); 183 | //wait for response header to arrive 184 | result_t waitResponseHeader(lidar_ans_header * header, uint32_t timeout = DEFAULT_TIMEOUT); 185 | 186 | protected: 187 | HardwareSerial * _bined_serialdev; 188 | scanPoint point; 189 | }; 190 | -------------------------------------------------------------------------------- /doc/html/236943808.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/236943808.ico -------------------------------------------------------------------------------- /doc/html/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/arrowdown.png -------------------------------------------------------------------------------- /doc/html/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/arrowright.png -------------------------------------------------------------------------------- /doc/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/bc_s.png -------------------------------------------------------------------------------- /doc/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/bdwn.png -------------------------------------------------------------------------------- /doc/html/class_queue_list-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
QueueList< T > Member List
86 |
87 |
88 | 89 |

This is the complete list of members for QueueList< T >, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 |
count() const (defined in QueueList< T >)QueueList< T >
isEmpty() const (defined in QueueList< T >)QueueList< T >
peek() const (defined in QueueList< T >)QueueList< T >
pop() (defined in QueueList< T >)QueueList< T >
push(const T i) (defined in QueueList< T >)QueueList< T >
QueueList() (defined in QueueList< T >)QueueList< T >
~QueueList() (defined in QueueList< T >)QueueList< T >
99 | 100 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /doc/html/class_y_d_lidar__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /doc/html/class_y_d_lidar__coll__graph.md5: -------------------------------------------------------------------------------- 1 | b4904f581b1778fd9bd43224ee8498e7 -------------------------------------------------------------------------------- /doc/html/class_y_d_lidar__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/class_y_d_lidar__coll__graph.png -------------------------------------------------------------------------------- /doc/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/closed.png -------------------------------------------------------------------------------- /doc/html/dir_2fcb1c26d0d02a3b516af9361a485840.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: examples/YDLidar_SerialEvent Directory Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 67 | 68 |
72 |
73 | 74 | 75 |
76 | 79 |
80 | 81 | 85 |
86 |
87 |
88 |
YDLidar_SerialEvent Directory Reference
89 |
90 |
91 | 92 | 94 |

93 | Files

95 |
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/dir_bfccd401955b95cf8c75461437045ac0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: inc Directory Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 67 | 68 |
72 |
73 | 74 | 75 |
76 | 79 |
80 | 81 | 85 |
86 |
87 |
88 |
inc Directory Reference
89 |
90 |
91 | 92 | 94 |

93 | Files

95 |
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/dir_d28a4824dc47e487b107a5db32ef43c4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: examples Directory Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 67 | 68 |
72 |
73 | 74 | 75 |
76 | 79 |
80 | 81 | 85 |
86 |
87 |
88 |
examples Directory Reference
89 |
90 |
91 | 92 | 94 |

93 | Directories

95 |
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/doc.png -------------------------------------------------------------------------------- /doc/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/doxygen.png -------------------------------------------------------------------------------- /doc/html/dynsections.js: -------------------------------------------------------------------------------- 1 | function toggleVisibility(linkObj) 2 | { 3 | var base = $(linkObj).attr('id'); 4 | var summary = $('#'+base+'-summary'); 5 | var content = $('#'+base+'-content'); 6 | var trigger = $('#'+base+'-trigger'); 7 | var src=$(trigger).attr('src'); 8 | if (content.is(':visible')===true) { 9 | content.hide(); 10 | summary.show(); 11 | $(linkObj).addClass('closed').removeClass('opened'); 12 | $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); 13 | } else { 14 | content.show(); 15 | summary.hide(); 16 | $(linkObj).removeClass('closed').addClass('opened'); 17 | $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); 18 | } 19 | return false; 20 | } 21 | 22 | function updateStripes() 23 | { 24 | $('table.directory tr'). 25 | removeClass('even').filter(':visible:even').addClass('even'); 26 | } 27 | 28 | function toggleLevel(level) 29 | { 30 | $('table.directory tr').each(function() { 31 | var l = this.id.split('_').length-1; 32 | var i = $('#img'+this.id.substring(3)); 33 | var a = $('#arr'+this.id.substring(3)); 34 | if (l 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: File List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 67 |
68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
File List
85 |
86 |
87 |
Here is a list of all documented files with brief descriptions:
88 |
[detail level 123]
89 | 90 | 91 | 92 | 93 | 94 | 95 |
  examples
  YDLidar_SerialEvent
 QueueList.h
  inc
 v8stdint.h
 YDLidar.h
96 |
97 |
98 | 99 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /doc/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/folderclosed.png -------------------------------------------------------------------------------- /doc/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/folderopen.png -------------------------------------------------------------------------------- /doc/html/graph_legend.md5: -------------------------------------------------------------------------------- 1 | 387ff8eb65306fa251338d3c9bd7bfff -------------------------------------------------------------------------------- /doc/html/graph_legend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/graph_legend.png -------------------------------------------------------------------------------- /doc/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Main Page 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 |
63 | 64 |
68 |
69 | 70 | 71 |
72 | 75 |
76 | 77 |
78 |
79 |
YDLIDAR ARDUINO Documentation
80 |
81 |
82 |
83 | 84 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /doc/html/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/logo.ico -------------------------------------------------------------------------------- /doc/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/nav_f.png -------------------------------------------------------------------------------- /doc/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/nav_g.png -------------------------------------------------------------------------------- /doc/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/nav_h.png -------------------------------------------------------------------------------- /doc/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/open.png -------------------------------------------------------------------------------- /doc/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cmd_5fpacket',['cmd_packet',['../structcmd__packet.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['device_5fhealth',['device_health',['../structdevice__health.html',1,'']]], 4 | ['device_5finfo',['device_info',['../structdevice__info.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lidar_5fans_5fheader',['lidar_ans_header',['../structlidar__ans__header.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['node_5finfo',['node_info',['../structnode__info.html',1,'']]], 4 | ['node_5fpackage',['node_package',['../structnode__package.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['queuelist',['QueueList',['../class_queue_list.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sampling_5frate',['sampling_rate',['../structsampling__rate.html',1,'']]], 4 | ['scan_5ffrequency',['scan_frequency',['../structscan__frequency.html',1,'']]], 5 | ['scan_5frotation',['scan_rotation',['../structscan__rotation.html',1,'']]], 6 | ['scanpoint',['scanPoint',['../structscan_point.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /doc/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ydlidar',['YDLidar',['../class_y_d_lidar.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cmd_5fpacket',['cmd_packet',['../structcmd__packet.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['device_5fhealth',['device_health',['../structdevice__health.html',1,'']]], 4 | ['device_5finfo',['device_info',['../structdevice__info.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lidar_5fans_5fheader',['lidar_ans_header',['../structlidar__ans__header.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/classes_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['node_5finfo',['node_info',['../structnode__info.html',1,'']]], 4 | ['node_5fpackage',['node_package',['../structnode__package.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/classes_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['queuelist',['QueueList',['../class_queue_list.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/classes_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sampling_5frate',['sampling_rate',['../structsampling__rate.html',1,'']]], 4 | ['scan_5ffrequency',['scan_frequency',['../structscan__frequency.html',1,'']]], 5 | ['scan_5frotation',['scan_rotation',['../structscan__rotation.html',1,'']]], 6 | ['scanpoint',['scanPoint',['../structscan_point.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /doc/html/search/classes_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/html/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ydlidar',['YDLidar',['../class_y_d_lidar.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/search/close.png -------------------------------------------------------------------------------- /doc/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/search/mag_sel.png -------------------------------------------------------------------------------- /doc/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /doc/html/search/search.css: -------------------------------------------------------------------------------- 1 | /*---------------- Search Box */ 2 | 3 | #FSearchBox { 4 | float: left; 5 | } 6 | 7 | #MSearchBox { 8 | white-space : nowrap; 9 | position: absolute; 10 | float: none; 11 | display: inline; 12 | margin-top: 8px; 13 | right: 0px; 14 | width: 170px; 15 | z-index: 102; 16 | background-color: white; 17 | } 18 | 19 | #MSearchBox .left 20 | { 21 | display:block; 22 | position:absolute; 23 | left:10px; 24 | width:20px; 25 | height:19px; 26 | background:url('search_l.png') no-repeat; 27 | background-position:right; 28 | } 29 | 30 | #MSearchSelect { 31 | display:block; 32 | position:absolute; 33 | width:20px; 34 | height:19px; 35 | } 36 | 37 | .left #MSearchSelect { 38 | left:4px; 39 | } 40 | 41 | .right #MSearchSelect { 42 | right:5px; 43 | } 44 | 45 | #MSearchField { 46 | display:block; 47 | position:absolute; 48 | height:19px; 49 | background:url('search_m.png') repeat-x; 50 | border:none; 51 | width:111px; 52 | margin-left:20px; 53 | padding-left:4px; 54 | color: #909090; 55 | outline: none; 56 | font: 9pt Arial, Verdana, sans-serif; 57 | } 58 | 59 | #FSearchBox #MSearchField { 60 | margin-left:15px; 61 | } 62 | 63 | #MSearchBox .right { 64 | display:block; 65 | position:absolute; 66 | right:10px; 67 | top:0px; 68 | width:20px; 69 | height:19px; 70 | background:url('search_r.png') no-repeat; 71 | background-position:left; 72 | } 73 | 74 | #MSearchClose { 75 | display: none; 76 | position: absolute; 77 | top: 4px; 78 | background : none; 79 | border: none; 80 | margin: 0px 4px 0px 0px; 81 | padding: 0px 0px; 82 | outline: none; 83 | } 84 | 85 | .left #MSearchClose { 86 | left: 6px; 87 | } 88 | 89 | .right #MSearchClose { 90 | right: 2px; 91 | } 92 | 93 | .MSearchBoxActive #MSearchField { 94 | color: #000000; 95 | } 96 | 97 | /*---------------- Search filter selection */ 98 | 99 | #MSearchSelectWindow { 100 | display: none; 101 | position: absolute; 102 | left: 0; top: 0; 103 | border: 1px solid #90A5CE; 104 | background-color: #F9FAFC; 105 | z-index: 1; 106 | padding-top: 4px; 107 | padding-bottom: 4px; 108 | -moz-border-radius: 4px; 109 | -webkit-border-top-left-radius: 4px; 110 | -webkit-border-top-right-radius: 4px; 111 | -webkit-border-bottom-left-radius: 4px; 112 | -webkit-border-bottom-right-radius: 4px; 113 | -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); 114 | } 115 | 116 | .SelectItem { 117 | font: 8pt Arial, Verdana, sans-serif; 118 | padding-left: 2px; 119 | padding-right: 12px; 120 | border: 0px; 121 | } 122 | 123 | span.SelectionMark { 124 | margin-right: 4px; 125 | font-family: monospace; 126 | outline-style: none; 127 | text-decoration: none; 128 | } 129 | 130 | a.SelectItem { 131 | display: block; 132 | outline-style: none; 133 | color: #000000; 134 | text-decoration: none; 135 | padding-left: 6px; 136 | padding-right: 12px; 137 | } 138 | 139 | a.SelectItem:focus, 140 | a.SelectItem:active { 141 | color: #000000; 142 | outline-style: none; 143 | text-decoration: none; 144 | } 145 | 146 | a.SelectItem:hover { 147 | color: #FFFFFF; 148 | background-color: #3D578C; 149 | outline-style: none; 150 | text-decoration: none; 151 | cursor: pointer; 152 | display: block; 153 | } 154 | 155 | /*---------------- Search results window */ 156 | 157 | iframe#MSearchResults { 158 | width: 60ex; 159 | height: 15em; 160 | } 161 | 162 | #MSearchResultsWindow { 163 | display: none; 164 | position: absolute; 165 | left: 0; top: 0; 166 | border: 1px solid #000; 167 | background-color: #EEF1F7; 168 | } 169 | 170 | /* ----------------------------------- */ 171 | 172 | 173 | #SRIndex { 174 | clear:both; 175 | padding-bottom: 15px; 176 | } 177 | 178 | .SREntry { 179 | font-size: 10pt; 180 | padding-left: 1ex; 181 | } 182 | 183 | .SRPage .SREntry { 184 | font-size: 8pt; 185 | padding: 1px 5px; 186 | } 187 | 188 | body.SRPage { 189 | margin: 5px 2px; 190 | } 191 | 192 | .SRChildren { 193 | padding-left: 3ex; padding-bottom: .5em 194 | } 195 | 196 | .SRPage .SRChildren { 197 | display: none; 198 | } 199 | 200 | .SRSymbol { 201 | font-weight: bold; 202 | color: #425E97; 203 | font-family: Arial, Verdana, sans-serif; 204 | text-decoration: none; 205 | outline: none; 206 | } 207 | 208 | a.SRScope { 209 | display: block; 210 | color: #425E97; 211 | font-family: Arial, Verdana, sans-serif; 212 | text-decoration: none; 213 | outline: none; 214 | } 215 | 216 | a.SRSymbol:focus, a.SRSymbol:active, 217 | a.SRScope:focus, a.SRScope:active { 218 | text-decoration: underline; 219 | } 220 | 221 | span.SRScope { 222 | padding-left: 4px; 223 | } 224 | 225 | .SRPage .SRStatus { 226 | padding: 2px 5px; 227 | font-size: 8pt; 228 | font-style: italic; 229 | } 230 | 231 | .SRResult { 232 | display: none; 233 | } 234 | 235 | DIV.searchresults { 236 | margin-left: 10px; 237 | margin-right: 10px; 238 | } 239 | 240 | /*---------------- External search page results */ 241 | 242 | .searchresult { 243 | background-color: #F0F3F8; 244 | } 245 | 246 | .pages b { 247 | color: white; 248 | padding: 5px 5px 3px 5px; 249 | background-image: url("../tab_a.png"); 250 | background-repeat: repeat-x; 251 | text-shadow: 0 1px 1px #000000; 252 | } 253 | 254 | .pages { 255 | line-height: 17px; 256 | margin-left: 4px; 257 | text-decoration: none; 258 | } 259 | 260 | .hl { 261 | font-weight: bold; 262 | } 263 | 264 | #searchresults { 265 | margin-bottom: 20px; 266 | } 267 | 268 | .searchpages { 269 | margin-top: 10px; 270 | } 271 | 272 | -------------------------------------------------------------------------------- /doc/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/search/search_l.png -------------------------------------------------------------------------------- /doc/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/search/search_m.png -------------------------------------------------------------------------------- /doc/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/search/search_r.png -------------------------------------------------------------------------------- /doc/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "cdlnqsy", 4 | 1: "cdlnqsy" 5 | }; 6 | 7 | var indexSectionNames = 8 | { 9 | 0: "all", 10 | 1: "classes" 11 | }; 12 | 13 | var indexSectionLabels = 14 | { 15 | 0: "All", 16 | 1: "Classes" 17 | }; 18 | 19 | -------------------------------------------------------------------------------- /doc/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/splitbar.png -------------------------------------------------------------------------------- /doc/html/structcmd__packet-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
cmd_packet Member List
86 |
87 |
88 | 89 |

This is the complete list of members for cmd_packet, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 |
cmd_flag (defined in cmd_packet)cmd_packet
data (defined in cmd_packet)cmd_packet
size (defined in cmd_packet)cmd_packet
syncByte (defined in cmd_packet)cmd_packet
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/structcmd__packet.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: cmd_packet Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
cmd_packet Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 | 102 | 103 | 105 | 106 |

93 | Public Attributes

95 | uint8_t syncByte
 
98 | uint8_t cmd_flag
 
101 | uint8_t size
 
104 | uint8_t data
 
107 |
The documentation for this struct was generated from the following file: 110 |
111 | 112 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /doc/html/structdevice__health-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
device_health Member List
86 |
87 |
88 | 89 |

This is the complete list of members for device_health, including all inherited members.

90 | 91 | 92 | 93 |
error_code (defined in device_health)device_health
status (defined in device_health)device_health
94 | 95 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /doc/html/structdevice__health.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: device_health Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
device_health Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 |

93 | Public Attributes

95 | uint8_t status
 
98 | uint16_t error_code
 
101 |
The documentation for this struct was generated from the following file: 104 |
105 | 106 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /doc/html/structdevice__info-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
device_info Member List
86 |
87 |
88 | 89 |

This is the complete list of members for device_info, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 |
firmware_version (defined in device_info)device_info
hardware_version (defined in device_info)device_info
model (defined in device_info)device_info
serialnum (defined in device_info)device_info
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/structdevice__info.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: device_info Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
device_info Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 | 102 | 103 | 105 | 106 |

93 | Public Attributes

95 | uint8_t model
 
98 | uint16_t firmware_version
 
101 | uint8_t hardware_version
 
104 | uint8_t serialnum [16]
 
107 |
The documentation for this struct was generated from the following file: 110 |
111 | 112 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /doc/html/structlidar__ans__header-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
lidar_ans_header Member List
86 |
87 |
88 | 89 |

This is the complete list of members for lidar_ans_header, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 | 96 |
size (defined in lidar_ans_header)lidar_ans_header
subType (defined in lidar_ans_header)lidar_ans_header
syncByte1 (defined in lidar_ans_header)lidar_ans_header
syncByte2 (defined in lidar_ans_header)lidar_ans_header
type (defined in lidar_ans_header)lidar_ans_header
97 | 98 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /doc/html/structlidar__ans__header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: lidar_ans_header Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
lidar_ans_header Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 | 102 | 103 | 105 | 106 | 108 | 109 |

93 | Public Attributes

95 | uint8_t syncByte1
 
98 | uint8_t syncByte2
 
101 | uint32_t size:30
 
104 | uint32_t subType:2
 
107 | uint8_t type
 
110 |
The documentation for this struct was generated from the following file: 113 |
114 | 115 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /doc/html/structnode__info-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
node_info Member List
86 |
87 |
88 | 89 |

This is the complete list of members for node_info, including all inherited members.

90 | 91 | 92 | 93 | 94 |
angle_q6_checkbit (defined in node_info)node_info
distance_q2 (defined in node_info)node_info
sync_quality (defined in node_info)node_info
95 | 96 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /doc/html/structnode__info.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: node_info Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
node_info Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 | 102 | 103 |

93 | Public Attributes

95 | uint8_t sync_quality
 
98 | uint16_t angle_q6_checkbit
 
101 | uint16_t distance_q2
 
104 |
The documentation for this struct was generated from the following file: 107 |
108 | 109 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /doc/html/structnode__package-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
node_package Member List
86 |
87 |
88 | 89 |

This is the complete list of members for node_package, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 |
checkSum (defined in node_package)node_package
nowPackageNum (defined in node_package)node_package
package_CT (defined in node_package)node_package
package_Head (defined in node_package)node_package
packageFirstSampleAngle (defined in node_package)node_package
packageLastSampleAngle (defined in node_package)node_package
packageSampleDistance (defined in node_package)node_package
99 | 100 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /doc/html/structsampling__rate-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
sampling_rate Member List
86 |
87 |
88 | 89 |

This is the complete list of members for sampling_rate, including all inherited members.

90 | 91 | 92 |
rate (defined in sampling_rate)sampling_rate
93 | 94 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /doc/html/structsampling__rate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: sampling_rate Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
sampling_rate Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 |

93 | Public Attributes

95 | uint8_t rate
 
98 |
The documentation for this struct was generated from the following file: 101 |
102 | 103 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /doc/html/structscan__frequency-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
scan_frequency Member List
86 |
87 |
88 | 89 |

This is the complete list of members for scan_frequency, including all inherited members.

90 | 91 | 92 |
frequency (defined in scan_frequency)scan_frequency
93 | 94 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /doc/html/structscan__frequency.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: scan_frequency Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
scan_frequency Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 |

93 | Public Attributes

95 | uint32_t frequency
 
98 |
The documentation for this struct was generated from the following file: 101 |
102 | 103 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /doc/html/structscan__rotation-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
scan_rotation Member List
86 |
87 |
88 | 89 |

This is the complete list of members for scan_rotation, including all inherited members.

90 | 91 | 92 |
rotation (defined in scan_rotation)scan_rotation
93 | 94 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /doc/html/structscan__rotation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: scan_rotation Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
scan_rotation Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 |

93 | Public Attributes

95 | uint8_t rotation
 
98 |
The documentation for this struct was generated from the following file: 101 |
102 | 103 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /doc/html/structscan_point-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 |
85 |
scanPoint Member List
86 |
87 |
88 | 89 |

This is the complete list of members for scanPoint, including all inherited members.

90 | 91 | 92 | 93 | 94 | 95 |
angle (defined in scanPoint)scanPoint
distance (defined in scanPoint)scanPoint
quality (defined in scanPoint)scanPoint
startBit (defined in scanPoint)scanPoint
96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /doc/html/structscan_point.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDLIDAR ARDUINO: scanPoint Struct Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 |
27 |
YDLIDAR ARDUINO 28 |
29 |
33 |
34 | 35 | 36 | 39 | 62 | 68 | 69 |
73 |
74 | 75 | 76 |
77 | 80 |
81 | 82 |
83 |
84 | 87 |
88 |
scanPoint Struct Reference
89 |
90 |
91 | 92 | 94 | 96 | 97 | 99 | 100 | 102 | 103 | 105 | 106 |

93 | Public Attributes

95 | uint8_t quality
 
98 | float angle
 
101 | float distance
 
104 | bool startBit
 
107 |
The documentation for this struct was generated from the following file: 110 |
111 | 112 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /doc/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/sync_off.png -------------------------------------------------------------------------------- /doc/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/sync_on.png -------------------------------------------------------------------------------- /doc/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/tab_a.png -------------------------------------------------------------------------------- /doc/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/tab_b.png -------------------------------------------------------------------------------- /doc/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/tab_h.png -------------------------------------------------------------------------------- /doc/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/html/tab_s.png -------------------------------------------------------------------------------- /doc/html/tabs.css: -------------------------------------------------------------------------------- 1 | .tabs, .tabs2, .tabs3 { 2 | background-image: url('tab_b.png'); 3 | width: 100%; 4 | z-index: 101; 5 | font-size: 13px; 6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; 7 | } 8 | 9 | .tabs2 { 10 | font-size: 10px; 11 | } 12 | .tabs3 { 13 | font-size: 9px; 14 | } 15 | 16 | .tablist { 17 | margin: 0; 18 | padding: 0; 19 | display: table; 20 | } 21 | 22 | .tablist li { 23 | float: left; 24 | display: table-cell; 25 | background-image: url('tab_b.png'); 26 | line-height: 36px; 27 | list-style: none; 28 | } 29 | 30 | .tablist a { 31 | display: block; 32 | padding: 0 20px; 33 | font-weight: bold; 34 | background-image:url('tab_s.png'); 35 | background-repeat:no-repeat; 36 | background-position:right; 37 | color: #283A5D; 38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); 39 | text-decoration: none; 40 | outline: none; 41 | } 42 | 43 | .tabs3 .tablist a { 44 | padding: 0 10px; 45 | } 46 | 47 | .tablist a:hover { 48 | background-image: url('tab_h.png'); 49 | background-repeat:repeat-x; 50 | color: #fff; 51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 52 | text-decoration: none; 53 | } 54 | 55 | .tablist li.current a { 56 | background-image: url('tab_a.png'); 57 | background-repeat:repeat-x; 58 | color: #fff; 59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 60 | } 61 | -------------------------------------------------------------------------------- /doc/latex/Makefile: -------------------------------------------------------------------------------- 1 | all: refman.pdf 2 | 3 | pdf: refman.pdf 4 | 5 | refman.pdf: clean refman.tex 6 | pdflatex refman 7 | makeindex refman.idx 8 | pdflatex refman 9 | latex_count=8 ; \ 10 | while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ 11 | do \ 12 | echo "Rerunning latex...." ;\ 13 | pdflatex refman ;\ 14 | latex_count=`expr $$latex_count - 1` ;\ 15 | done 16 | makeindex refman.idx 17 | pdflatex refman 18 | 19 | 20 | clean: 21 | rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf 22 | -------------------------------------------------------------------------------- /doc/latex/annotated.tex: -------------------------------------------------------------------------------- 1 | \section{Class List} 2 | Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} 3 | \item\contentsline{section}{\hyperlink{structcmd__packet}{cmd\+\_\+packet} }{\pageref{structcmd__packet}}{} 4 | \item\contentsline{section}{\hyperlink{structdevice__health}{device\+\_\+health} }{\pageref{structdevice__health}}{} 5 | \item\contentsline{section}{\hyperlink{structdevice__info}{device\+\_\+info} }{\pageref{structdevice__info}}{} 6 | \item\contentsline{section}{\hyperlink{structlidar__ans__header}{lidar\+\_\+ans\+\_\+header} }{\pageref{structlidar__ans__header}}{} 7 | \item\contentsline{section}{\hyperlink{structnode__info}{node\+\_\+info} }{\pageref{structnode__info}}{} 8 | \item\contentsline{section}{\hyperlink{structnode__package}{node\+\_\+package} }{\pageref{structnode__package}}{} 9 | \item\contentsline{section}{\hyperlink{class_queue_list}{Queue\+List$<$ T $>$} }{\pageref{class_queue_list}}{} 10 | \item\contentsline{section}{\hyperlink{structsampling__rate}{sampling\+\_\+rate} }{\pageref{structsampling__rate}}{} 11 | \item\contentsline{section}{\hyperlink{structscan__frequency}{scan\+\_\+frequency} }{\pageref{structscan__frequency}}{} 12 | \item\contentsline{section}{\hyperlink{structscan__rotation}{scan\+\_\+rotation} }{\pageref{structscan__rotation}}{} 13 | \item\contentsline{section}{\hyperlink{structscan_point}{scan\+Point} }{\pageref{structscan_point}}{} 14 | \item\contentsline{section}{\hyperlink{class_y_d_lidar}{Y\+D\+Lidar} }{\pageref{class_y_d_lidar}}{} 15 | \end{DoxyCompactList} 16 | -------------------------------------------------------------------------------- /doc/latex/class_queue_list.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{class_queue_list}{}\section{Queue\+List$<$ T $>$ Class Template Reference} 2 | \label{class_queue_list}\index{Queue\+List$<$ T $>$@{Queue\+List$<$ T $>$}} 3 | \subsection*{Public Member Functions} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | void {\bfseries push} (const T i)\hypertarget{class_queue_list_a47c26444335b418138450ba8bfb5ba13}{}\label{class_queue_list_a47c26444335b418138450ba8bfb5ba13} 7 | 8 | \item 9 | T {\bfseries pop} ()\hypertarget{class_queue_list_abf5fba15da77e79d28cb3f593f5fd0a7}{}\label{class_queue_list_abf5fba15da77e79d28cb3f593f5fd0a7} 10 | 11 | \item 12 | T {\bfseries peek} () const \hypertarget{class_queue_list_aed5225e36fcedf948a08d8c6b856be9f}{}\label{class_queue_list_aed5225e36fcedf948a08d8c6b856be9f} 13 | 14 | \item 15 | bool {\bfseries is\+Empty} () const \hypertarget{class_queue_list_ab6c04bc7c2b54ac9060f8a0f1b738351}{}\label{class_queue_list_ab6c04bc7c2b54ac9060f8a0f1b738351} 16 | 17 | \item 18 | int {\bfseries count} () const \hypertarget{class_queue_list_a078a1e9b8021ea45c9b1110d09602ef9}{}\label{class_queue_list_a078a1e9b8021ea45c9b1110d09602ef9} 19 | 20 | \end{DoxyCompactItemize} 21 | 22 | 23 | The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} 24 | \item 25 | examples/\+Y\+D\+Lidar\+\_\+\+Serial\+Event/Queue\+List.\+h\end{DoxyCompactItemize} 26 | -------------------------------------------------------------------------------- /doc/latex/class_y_d_lidar.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{class_y_d_lidar}{}\section{Y\+D\+Lidar Class Reference} 2 | \label{class_y_d_lidar}\index{Y\+D\+Lidar@{Y\+D\+Lidar}} 3 | 4 | 5 | Collaboration diagram for Y\+D\+Lidar\+:\nopagebreak 6 | \begin{figure}[H] 7 | \begin{center} 8 | \leavevmode 9 | \includegraphics[width=140pt]{class_y_d_lidar__coll__graph} 10 | \end{center} 11 | \end{figure} 12 | \subsection*{Public Types} 13 | \begin{DoxyCompactItemize} 14 | \item 15 | enum \{ {\bfseries S\+E\+R\+I\+A\+L\+\_\+\+B\+A\+U\+D\+R\+A\+TE} = 115200, 16 | {\bfseries D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT} = 500 17 | \}\hypertarget{class_y_d_lidar_a93fcca770d136acd68615c077fb98fac}{}\label{class_y_d_lidar_a93fcca770d136acd68615c077fb98fac} 18 | 19 | \end{DoxyCompactItemize} 20 | \subsection*{Public Member Functions} 21 | \begin{DoxyCompactItemize} 22 | \item 23 | bool {\bfseries begin} (Hardware\+Serial \&serialobj, uint32\+\_\+t baudrate=S\+E\+R\+I\+A\+L\+\_\+\+B\+A\+U\+D\+R\+A\+TE)\hypertarget{class_y_d_lidar_a0c1a66b457d67fb465a82da15151bd02}{}\label{class_y_d_lidar_a0c1a66b457d67fb465a82da15151bd02} 24 | 25 | \item 26 | void {\bfseries end} (void)\hypertarget{class_y_d_lidar_ab4f3a968e28e50745a86e3486570785f}{}\label{class_y_d_lidar_ab4f3a968e28e50745a86e3486570785f} 27 | 28 | \item 29 | bool {\bfseries is\+Open} (void)\hypertarget{class_y_d_lidar_a114d6d4058d579e040ca2f5d4541bee9}{}\label{class_y_d_lidar_a114d6d4058d579e040ca2f5d4541bee9} 30 | 31 | \item 32 | result\+\_\+t {\bfseries get\+Health} (\hyperlink{structdevice__health}{device\+\_\+health} \&health, uint32\+\_\+t timeout=D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT)\hypertarget{class_y_d_lidar_aa85946476d601c558aea46ebf022dda3}{}\label{class_y_d_lidar_aa85946476d601c558aea46ebf022dda3} 33 | 34 | \item 35 | result\+\_\+t {\bfseries get\+Device\+Info} (\hyperlink{structdevice__info}{device\+\_\+info} \&info, uint32\+\_\+t timeout=D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT)\hypertarget{class_y_d_lidar_af39b9bbeb498209ef5d5a301e58815c7}{}\label{class_y_d_lidar_af39b9bbeb498209ef5d5a301e58815c7} 36 | 37 | \item 38 | result\+\_\+t {\bfseries stop} (void)\hypertarget{class_y_d_lidar_a56dbcd8ca1e2b2b569f34189d69263a2}{}\label{class_y_d_lidar_a56dbcd8ca1e2b2b569f34189d69263a2} 39 | 40 | \item 41 | result\+\_\+t {\bfseries start\+Scan} (bool force=false, uint32\+\_\+t timeout=D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT $\ast$2)\hypertarget{class_y_d_lidar_ab94a06ee3862b4100a97c0d25dce88b5}{}\label{class_y_d_lidar_ab94a06ee3862b4100a97c0d25dce88b5} 42 | 43 | \item 44 | result\+\_\+t {\bfseries wait\+Scan\+Dot} (uint32\+\_\+t timeout=D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT)\hypertarget{class_y_d_lidar_ac4504ab865582884e27ba181acea6e10}{}\label{class_y_d_lidar_ac4504ab865582884e27ba181acea6e10} 45 | 46 | \item 47 | const \hyperlink{structscan_point}{scan\+Point} \& {\bfseries get\+Current\+Scan\+Point} (void)\hypertarget{class_y_d_lidar_a704a5a434bb3022c9f169ab74ad90898}{}\label{class_y_d_lidar_a704a5a434bb3022c9f169ab74ad90898} 48 | 49 | \end{DoxyCompactItemize} 50 | \subsection*{Protected Member Functions} 51 | \begin{DoxyCompactItemize} 52 | \item 53 | result\+\_\+t {\bfseries send\+Command} (uint8\+\_\+t cmd, const void $\ast$payload=N\+U\+LL, size\+\_\+t payloadsize=0)\hypertarget{class_y_d_lidar_a440f59fce948f0fe000d8eee48d561c3}{}\label{class_y_d_lidar_a440f59fce948f0fe000d8eee48d561c3} 54 | 55 | \item 56 | result\+\_\+t {\bfseries wait\+Response\+Header} (\hyperlink{structlidar__ans__header}{lidar\+\_\+ans\+\_\+header} $\ast$header, uint32\+\_\+t timeout=D\+E\+F\+A\+U\+L\+T\+\_\+\+T\+I\+M\+E\+O\+UT)\hypertarget{class_y_d_lidar_a05781f62737fead3f02990dfb08aadb5}{}\label{class_y_d_lidar_a05781f62737fead3f02990dfb08aadb5} 57 | 58 | \end{DoxyCompactItemize} 59 | \subsection*{Protected Attributes} 60 | \begin{DoxyCompactItemize} 61 | \item 62 | Hardware\+Serial $\ast$ {\bfseries \+\_\+bined\+\_\+serialdev}\hypertarget{class_y_d_lidar_aaf9925e4f8109c6b52cbd0d61df274c7}{}\label{class_y_d_lidar_aaf9925e4f8109c6b52cbd0d61df274c7} 63 | 64 | \item 65 | \hyperlink{structscan_point}{scan\+Point} {\bfseries point}\hypertarget{class_y_d_lidar_aa6104f0063758211b29f7dece4e158d9}{}\label{class_y_d_lidar_aa6104f0063758211b29f7dece4e158d9} 66 | 67 | \end{DoxyCompactItemize} 68 | 69 | 70 | The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} 71 | \item 72 | Y\+D\+Lidar.\+h\item 73 | Y\+D\+Lidar.\+cpp\end{DoxyCompactItemize} 74 | -------------------------------------------------------------------------------- /doc/latex/class_y_d_lidar__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 46f22a48f4e907f94f3be0b194070984 -------------------------------------------------------------------------------- /doc/latex/class_y_d_lidar__coll__graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EAIBOT/ydlidar_arduino/b3032b5db7ea65e31bd7aa8e540ed2f03462ca77/doc/latex/class_y_d_lidar__coll__graph.pdf -------------------------------------------------------------------------------- /doc/latex/dir_2fcb1c26d0d02a3b516af9361a485840.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_2fcb1c26d0d02a3b516af9361a485840}{}\section{examples/\+Y\+D\+Lidar\+\_\+\+Serial\+Event Directory Reference} 2 | \label{dir_2fcb1c26d0d02a3b516af9361a485840}\index{examples/\+Y\+D\+Lidar\+\_\+\+Serial\+Event Directory Reference@{examples/\+Y\+D\+Lidar\+\_\+\+Serial\+Event Directory Reference}} 3 | \subsection*{Files} 4 | \begin{DoxyCompactItemize} 5 | \end{DoxyCompactItemize} 6 | -------------------------------------------------------------------------------- /doc/latex/dir_bfccd401955b95cf8c75461437045ac0.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_bfccd401955b95cf8c75461437045ac0}{}\section{inc Directory Reference} 2 | \label{dir_bfccd401955b95cf8c75461437045ac0}\index{inc Directory Reference@{inc Directory Reference}} 3 | \subsection*{Files} 4 | \begin{DoxyCompactItemize} 5 | \end{DoxyCompactItemize} 6 | -------------------------------------------------------------------------------- /doc/latex/dir_d28a4824dc47e487b107a5db32ef43c4.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_d28a4824dc47e487b107a5db32ef43c4}{}\section{examples Directory Reference} 2 | \label{dir_d28a4824dc47e487b107a5db32ef43c4}\index{examples Directory Reference@{examples Directory Reference}} 3 | \subsection*{Directories} 4 | \begin{DoxyCompactItemize} 5 | \end{DoxyCompactItemize} 6 | -------------------------------------------------------------------------------- /doc/latex/refman.tex: -------------------------------------------------------------------------------- 1 | \documentclass[twoside]{book} 2 | 3 | % Packages required by doxygen 4 | \usepackage{fixltx2e} 5 | \usepackage{calc} 6 | \usepackage{doxygen} 7 | \usepackage[export]{adjustbox} % also loads graphicx 8 | \usepackage{graphicx} 9 | \usepackage[utf8]{inputenc} 10 | \usepackage{makeidx} 11 | \usepackage{multicol} 12 | \usepackage{multirow} 13 | \PassOptionsToPackage{warn}{textcomp} 14 | \usepackage{textcomp} 15 | \usepackage[nointegrals]{wasysym} 16 | \usepackage[table]{xcolor} 17 | 18 | % Font selection 19 | \usepackage[T1]{fontenc} 20 | \usepackage[scaled=.90]{helvet} 21 | \usepackage{courier} 22 | \usepackage{amssymb} 23 | \usepackage{sectsty} 24 | \renewcommand{\familydefault}{\sfdefault} 25 | \allsectionsfont{% 26 | \fontseries{bc}\selectfont% 27 | \color{darkgray}% 28 | } 29 | \renewcommand{\DoxyLabelFont}{% 30 | \fontseries{bc}\selectfont% 31 | \color{darkgray}% 32 | } 33 | \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} 34 | 35 | % Page & text layout 36 | \usepackage{geometry} 37 | \geometry{% 38 | a4paper,% 39 | top=2.5cm,% 40 | bottom=2.5cm,% 41 | left=2.5cm,% 42 | right=2.5cm% 43 | } 44 | \tolerance=750 45 | \hfuzz=15pt 46 | \hbadness=750 47 | \setlength{\emergencystretch}{15pt} 48 | \setlength{\parindent}{0cm} 49 | \setlength{\parskip}{3ex plus 2ex minus 2ex} 50 | \makeatletter 51 | \renewcommand{\paragraph}{% 52 | \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% 53 | \normalfont\normalsize\bfseries\SS@parafont% 54 | }% 55 | } 56 | \renewcommand{\subparagraph}{% 57 | \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% 58 | \normalfont\normalsize\bfseries\SS@subparafont% 59 | }% 60 | } 61 | \makeatother 62 | 63 | % Headers & footers 64 | \usepackage{fancyhdr} 65 | \pagestyle{fancyplain} 66 | \fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} 67 | \fancyhead[CE]{\fancyplain{}{}} 68 | \fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} 69 | \fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} 70 | \fancyhead[CO]{\fancyplain{}{}} 71 | \fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} 72 | \fancyfoot[LE]{\fancyplain{}{}} 73 | \fancyfoot[CE]{\fancyplain{}{}} 74 | \fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} 75 | \fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} 76 | \fancyfoot[CO]{\fancyplain{}{}} 77 | \fancyfoot[RO]{\fancyplain{}{}} 78 | \renewcommand{\footrulewidth}{0.4pt} 79 | \renewcommand{\chaptermark}[1]{% 80 | \markboth{#1}{}% 81 | } 82 | \renewcommand{\sectionmark}[1]{% 83 | \markright{\thesection\ #1}% 84 | } 85 | 86 | % Indices & bibliography 87 | \usepackage{natbib} 88 | \usepackage[titles]{tocloft} 89 | \setcounter{tocdepth}{3} 90 | \setcounter{secnumdepth}{5} 91 | \makeindex 92 | 93 | % Hyperlinks (required, but should be loaded last) 94 | \usepackage{ifpdf} 95 | \ifpdf 96 | \usepackage[pdftex,pagebackref=true]{hyperref} 97 | \else 98 | \usepackage[ps2pdf,pagebackref=true]{hyperref} 99 | \fi 100 | \hypersetup{% 101 | colorlinks=true,% 102 | linkcolor=blue,% 103 | citecolor=blue,% 104 | unicode% 105 | } 106 | 107 | % Custom commands 108 | \newcommand{\clearemptydoublepage}{% 109 | \newpage{\pagestyle{empty}\cleardoublepage}% 110 | } 111 | 112 | \usepackage{caption} 113 | \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} 114 | 115 | %===== C O N T E N T S ===== 116 | 117 | \begin{document} 118 | 119 | % Titlepage & ToC 120 | \hypersetup{pageanchor=false, 121 | bookmarksnumbered=true, 122 | pdfencoding=unicode 123 | } 124 | \pagenumbering{roman} 125 | \begin{titlepage} 126 | \vspace*{7cm} 127 | \begin{center}% 128 | {\Large Y\+D\+L\+I\+D\+AR A\+R\+D\+U\+I\+NO }\\ 129 | \vspace*{1cm} 130 | {\large Generated by Doxygen 1.8.11}\\ 131 | \end{center} 132 | \end{titlepage} 133 | \clearemptydoublepage 134 | \tableofcontents 135 | \clearemptydoublepage 136 | \pagenumbering{arabic} 137 | \hypersetup{pageanchor=true} 138 | 139 | %--- Begin generated contents --- 140 | \chapter{Class Index} 141 | \input{annotated} 142 | \chapter{Class Documentation} 143 | \input{structcmd__packet} 144 | \input{structdevice__health} 145 | \input{structdevice__info} 146 | \input{structlidar__ans__header} 147 | \input{structnode__info} 148 | \input{structnode__package} 149 | \input{class_queue_list} 150 | \input{structsampling__rate} 151 | \input{structscan__frequency} 152 | \input{structscan__rotation} 153 | \input{structscan_point} 154 | \input{class_y_d_lidar} 155 | %--- End generated contents --- 156 | 157 | % Index 158 | \backmatter 159 | \newpage 160 | \phantomsection 161 | \clearemptydoublepage 162 | \addcontentsline{toc}{chapter}{Index} 163 | \printindex 164 | 165 | \end{document} 166 | -------------------------------------------------------------------------------- /doc/latex/structcmd__packet.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structcmd__packet}{}\section{cmd\+\_\+packet Struct Reference} 2 | \label{structcmd__packet}\index{cmd\+\_\+packet@{cmd\+\_\+packet}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries sync\+Byte}\hypertarget{structcmd__packet_afbbf12329459d281e93fc742d1a78009}{}\label{structcmd__packet_afbbf12329459d281e93fc742d1a78009} 7 | 8 | \item 9 | uint8\+\_\+t {\bfseries cmd\+\_\+flag}\hypertarget{structcmd__packet_a87508f8232c382897c9159026985f3eb}{}\label{structcmd__packet_a87508f8232c382897c9159026985f3eb} 10 | 11 | \item 12 | uint8\+\_\+t {\bfseries size}\hypertarget{structcmd__packet_aff384923e9d1d54d526ca755529eac05}{}\label{structcmd__packet_aff384923e9d1d54d526ca755529eac05} 13 | 14 | \item 15 | uint8\+\_\+t {\bfseries data}\hypertarget{structcmd__packet_a3b8820a6357e147dd00ea67d9c9484c0}{}\label{structcmd__packet_a3b8820a6357e147dd00ea67d9c9484c0} 16 | 17 | \end{DoxyCompactItemize} 18 | 19 | 20 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 21 | \item 22 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 23 | -------------------------------------------------------------------------------- /doc/latex/structdevice__health.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structdevice__health}{}\section{device\+\_\+health Struct Reference} 2 | \label{structdevice__health}\index{device\+\_\+health@{device\+\_\+health}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries status}\hypertarget{structdevice__health_ac3425f5555ecbb5a0da03b4cabe2777c}{}\label{structdevice__health_ac3425f5555ecbb5a0da03b4cabe2777c} 7 | 8 | \item 9 | uint16\+\_\+t {\bfseries error\+\_\+code}\hypertarget{structdevice__health_a8815828d6de33cb43e8b72da48f51f23}{}\label{structdevice__health_a8815828d6de33cb43e8b72da48f51f23} 10 | 11 | \end{DoxyCompactItemize} 12 | 13 | 14 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 15 | \item 16 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 17 | -------------------------------------------------------------------------------- /doc/latex/structdevice__info.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structdevice__info}{}\section{device\+\_\+info Struct Reference} 2 | \label{structdevice__info}\index{device\+\_\+info@{device\+\_\+info}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries model}\hypertarget{structdevice__info_a3c491b342ed11af3c70358e7e8f6c935}{}\label{structdevice__info_a3c491b342ed11af3c70358e7e8f6c935} 7 | 8 | \item 9 | uint16\+\_\+t {\bfseries firmware\+\_\+version}\hypertarget{structdevice__info_af3d369a410577d85ec6b59ffeeaade48}{}\label{structdevice__info_af3d369a410577d85ec6b59ffeeaade48} 10 | 11 | \item 12 | uint8\+\_\+t {\bfseries hardware\+\_\+version}\hypertarget{structdevice__info_add77e9b0edbc4a0dbd8f91b0cac9ea13}{}\label{structdevice__info_add77e9b0edbc4a0dbd8f91b0cac9ea13} 13 | 14 | \item 15 | uint8\+\_\+t {\bfseries serialnum} \mbox{[}16\mbox{]}\hypertarget{structdevice__info_abf23e35480aff36d846085ca6fd0eec3}{}\label{structdevice__info_abf23e35480aff36d846085ca6fd0eec3} 16 | 17 | \end{DoxyCompactItemize} 18 | 19 | 20 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 21 | \item 22 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 23 | -------------------------------------------------------------------------------- /doc/latex/structlidar__ans__header.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structlidar__ans__header}{}\section{lidar\+\_\+ans\+\_\+header Struct Reference} 2 | \label{structlidar__ans__header}\index{lidar\+\_\+ans\+\_\+header@{lidar\+\_\+ans\+\_\+header}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries sync\+Byte1}\hypertarget{structlidar__ans__header_aeaa5beb7182c922d6d68697ecf60318a}{}\label{structlidar__ans__header_aeaa5beb7182c922d6d68697ecf60318a} 7 | 8 | \item 9 | uint8\+\_\+t {\bfseries sync\+Byte2}\hypertarget{structlidar__ans__header_a9ce80818478513e1cb36de5a17917958}{}\label{structlidar__ans__header_a9ce80818478513e1cb36de5a17917958} 10 | 11 | \item 12 | uint32\+\_\+t {\bfseries size}\+:30\hypertarget{structlidar__ans__header_a6e01bc2ec02153e40f3402790b917af3}{}\label{structlidar__ans__header_a6e01bc2ec02153e40f3402790b917af3} 13 | 14 | \item 15 | uint32\+\_\+t {\bfseries sub\+Type}\+:2\hypertarget{structlidar__ans__header_abd31cd42537cebe7958b95d3f4a07169}{}\label{structlidar__ans__header_abd31cd42537cebe7958b95d3f4a07169} 16 | 17 | \item 18 | uint8\+\_\+t {\bfseries type}\hypertarget{structlidar__ans__header_aab38102a1a266b5bfb842b10bf2804b2}{}\label{structlidar__ans__header_aab38102a1a266b5bfb842b10bf2804b2} 19 | 20 | \end{DoxyCompactItemize} 21 | 22 | 23 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 24 | \item 25 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 26 | -------------------------------------------------------------------------------- /doc/latex/structnode__info.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structnode__info}{}\section{node\+\_\+info Struct Reference} 2 | \label{structnode__info}\index{node\+\_\+info@{node\+\_\+info}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries sync\+\_\+quality}\hypertarget{structnode__info_a45f5ed4efbe416d43171d63c669f02da}{}\label{structnode__info_a45f5ed4efbe416d43171d63c669f02da} 7 | 8 | \item 9 | uint16\+\_\+t {\bfseries angle\+\_\+q6\+\_\+checkbit}\hypertarget{structnode__info_a73e1d282a573f3daa74332fe29b90a26}{}\label{structnode__info_a73e1d282a573f3daa74332fe29b90a26} 10 | 11 | \item 12 | uint16\+\_\+t {\bfseries distance\+\_\+q2}\hypertarget{structnode__info_a82eaf27a6196e803d3618c83b052f78c}{}\label{structnode__info_a82eaf27a6196e803d3618c83b052f78c} 13 | 14 | \end{DoxyCompactItemize} 15 | 16 | 17 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 18 | \item 19 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 20 | -------------------------------------------------------------------------------- /doc/latex/structnode__package.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structnode__package}{}\section{node\+\_\+package Struct Reference} 2 | \label{structnode__package}\index{node\+\_\+package@{node\+\_\+package}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint16\+\_\+t {\bfseries package\+\_\+\+Head}\hypertarget{structnode__package_a6d48d3a1d1ef718065a82e7495fa2b26}{}\label{structnode__package_a6d48d3a1d1ef718065a82e7495fa2b26} 7 | 8 | \item 9 | uint8\+\_\+t {\bfseries package\+\_\+\+CT}\hypertarget{structnode__package_a3be7b81a7cc4b7ef7beb816ccd414579}{}\label{structnode__package_a3be7b81a7cc4b7ef7beb816ccd414579} 10 | 11 | \item 12 | uint8\+\_\+t {\bfseries now\+Package\+Num}\hypertarget{structnode__package_aad0a75920ad5c1393f1b00904ece2d67}{}\label{structnode__package_aad0a75920ad5c1393f1b00904ece2d67} 13 | 14 | \item 15 | uint16\+\_\+t {\bfseries package\+First\+Sample\+Angle}\hypertarget{structnode__package_ac224f6450e8bd5bd069149babc37e1c4}{}\label{structnode__package_ac224f6450e8bd5bd069149babc37e1c4} 16 | 17 | \item 18 | uint16\+\_\+t {\bfseries package\+Last\+Sample\+Angle}\hypertarget{structnode__package_af5768e03270d3b7d7f58b3b82156dc2e}{}\label{structnode__package_af5768e03270d3b7d7f58b3b82156dc2e} 19 | 20 | \item 21 | uint16\+\_\+t {\bfseries check\+Sum}\hypertarget{structnode__package_a4b6d9990da9343143161aae929bb986e}{}\label{structnode__package_a4b6d9990da9343143161aae929bb986e} 22 | 23 | \item 24 | uint16\+\_\+t {\bfseries package\+Sample\+Distance} \mbox{[}Package\+Sample\+Max\+Lngth\mbox{]}\hypertarget{structnode__package_a00ee27fc439bd21ed97ee20fe7febdc9}{}\label{structnode__package_a00ee27fc439bd21ed97ee20fe7febdc9} 25 | 26 | \end{DoxyCompactItemize} 27 | 28 | 29 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 30 | \item 31 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 32 | -------------------------------------------------------------------------------- /doc/latex/structsampling__rate.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structsampling__rate}{}\section{sampling\+\_\+rate Struct Reference} 2 | \label{structsampling__rate}\index{sampling\+\_\+rate@{sampling\+\_\+rate}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries rate}\hypertarget{structsampling__rate_a8d860fbedd930d2022fe7bb6cf1f78b6}{}\label{structsampling__rate_a8d860fbedd930d2022fe7bb6cf1f78b6} 7 | 8 | \end{DoxyCompactItemize} 9 | 10 | 11 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 12 | \item 13 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 14 | -------------------------------------------------------------------------------- /doc/latex/structscan__frequency.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structscan__frequency}{}\section{scan\+\_\+frequency Struct Reference} 2 | \label{structscan__frequency}\index{scan\+\_\+frequency@{scan\+\_\+frequency}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint32\+\_\+t {\bfseries frequency}\hypertarget{structscan__frequency_ae4f2152e77416cff02f44452355f2808}{}\label{structscan__frequency_ae4f2152e77416cff02f44452355f2808} 7 | 8 | \end{DoxyCompactItemize} 9 | 10 | 11 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 12 | \item 13 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 14 | -------------------------------------------------------------------------------- /doc/latex/structscan__rotation.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structscan__rotation}{}\section{scan\+\_\+rotation Struct Reference} 2 | \label{structscan__rotation}\index{scan\+\_\+rotation@{scan\+\_\+rotation}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries rotation}\hypertarget{structscan__rotation_a22cb3689e04952bbd07cdac97ecad4a0}{}\label{structscan__rotation_a22cb3689e04952bbd07cdac97ecad4a0} 7 | 8 | \end{DoxyCompactItemize} 9 | 10 | 11 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 12 | \item 13 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 14 | -------------------------------------------------------------------------------- /doc/latex/structscan_point.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{structscan_point}{}\section{scan\+Point Struct Reference} 2 | \label{structscan_point}\index{scan\+Point@{scan\+Point}} 3 | \subsection*{Public Attributes} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | uint8\+\_\+t {\bfseries quality}\hypertarget{structscan_point_a502ae27491219d291f330ffa1fc72216}{}\label{structscan_point_a502ae27491219d291f330ffa1fc72216} 7 | 8 | \item 9 | float {\bfseries angle}\hypertarget{structscan_point_afa9b93eff938207c13f262ae8c94c215}{}\label{structscan_point_afa9b93eff938207c13f262ae8c94c215} 10 | 11 | \item 12 | float {\bfseries distance}\hypertarget{structscan_point_a306deb9f6aae76e056afd90d21b553cc}{}\label{structscan_point_a306deb9f6aae76e056afd90d21b553cc} 13 | 14 | \item 15 | bool {\bfseries start\+Bit}\hypertarget{structscan_point_abb340771310ad82bb10f10d94d3ebd0f}{}\label{structscan_point_abb340771310ad82bb10f10d94d3ebd0f} 16 | 17 | \end{DoxyCompactItemize} 18 | 19 | 20 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 21 | \item 22 | Y\+D\+Lidar.\+h\end{DoxyCompactItemize} 23 | -------------------------------------------------------------------------------- /examples/ConnectYDLidar/ConnectYDLidar.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * YDLIDAR SYSTEM 3 | * YDLIDAR Arduino 4 | * 5 | * Copyright 2015 - 2018 EAI TEAM 6 | * http://www.eaibot.com 7 | * 8 | */ 9 | 10 | #include 11 | 12 | // You need to create an driver instance 13 | YDLidar lidar; 14 | 15 | bool isScanning = false; 16 | 17 | 18 | #define YDLIDAR_MOTOR_SCTP 3 // The PWM pin for control the speed of YDLIDAR's motor. 19 | #define YDLIDAR_MOTRO_EN 7 // The ENABLE PIN for YDLIDAR's motor 20 | 21 | 22 | void setup() { 23 | 24 | //f4,s4:115200 25 | //g4:230400 26 | //x4:128000 27 | // bind the YDLIDAR driver to the arduino hardware serial 28 | lidar.begin(Serial, 128000); 29 | //output mode 30 | pinMode(YDLIDAR_MOTOR_SCTP, OUTPUT); 31 | pinMode(YDLIDAR_MOTRO_EN, OUTPUT); 32 | 33 | 34 | while(Serial.read() >= 0){}; 35 | 36 | } 37 | 38 | void loop() { 39 | if(isScanning){ 40 | if (lidar.waitScanDot() == RESULT_OK) { 41 | float distance = lidar.getCurrentScanPoint().distance; //distance value in mm unit 42 | float angle = lidar.getCurrentScanPoint().angle; //anglue value in degree 43 | byte quality = lidar.getCurrentScanPoint().quality; //quality of the current measurement 44 | bool startBit = lidar.getCurrentScanPoint().startBit; 45 | Serial.print("current angle:"); 46 | Serial.println(angle, DEC); 47 | Serial.print("current distance:"); 48 | Serial.println(distance, DEC); 49 | }else{ 50 | Serial.println(" YDLIDAR get Scandata fialed!!"); 51 | } 52 | }else{ 53 | //stop motor 54 | digitalWrite(YDLIDAR_MOTRO_EN, LOW); 55 | setMotorSpeed(0); 56 | restartScan(); 57 | } 58 | } 59 | 60 | 61 | void setMotorSpeed(float vol){ 62 | uint8_t PWM = (uint8_t)(51*vol); 63 | analogWrite(YDLIDAR_MOTOR_SCTP, PWM); 64 | } 65 | 66 | 67 | void restartScan(){ 68 | device_info deviceinfo; 69 | if (lidar.getDeviceInfo(deviceinfo, 100) == RESULT_OK) { 70 | int _samp_rate=4; 71 | String model; 72 | float freq = 7.0f; 73 | switch(deviceinfo.model){ 74 | case 1: 75 | model="F4"; 76 | _samp_rate=4; 77 | freq = 7.0; 78 | break; 79 | case 4: 80 | model="S4"; 81 | _samp_rate=4; 82 | freq = 7.0; 83 | break; 84 | case 5: 85 | model="G4"; 86 | _samp_rate=9; 87 | freq = 7.0; 88 | break; 89 | case 6: 90 | model="X4"; 91 | _samp_rate=5; 92 | freq = 7.0; 93 | break; 94 | default: 95 | model = "Unknown"; 96 | } 97 | 98 | uint16_t maxv = (uint16_t)(deviceinfo.firmware_version>>8); 99 | uint16_t midv = (uint16_t)(deviceinfo.firmware_version&0xff)/10; 100 | uint16_t minv = (uint16_t)(deviceinfo.firmware_version&0xff)%10; 101 | if(midv==0){ 102 | midv = minv; 103 | minv = 0; 104 | } 105 | 106 | 107 | Serial.print("Firmware version:"); 108 | Serial.print(maxv,DEC); 109 | Serial.print("."); 110 | Serial.print(midv,DEC); 111 | Serial.print("."); 112 | Serial.println(minv,DEC); 113 | 114 | Serial.print("Hardware version:"); 115 | Serial.println((uint16_t)deviceinfo.hardware_version,DEC); 116 | 117 | Serial.print("Model:"); 118 | Serial.println(model); 119 | 120 | Serial.print("Serial:"); 121 | for (int i=0;i<16;i++){ 122 | Serial.print(deviceinfo.serialnum[i]&0xff, DEC); 123 | } 124 | Serial.println(""); 125 | 126 | Serial.print("[YDLIDAR INFO] Current Sampling Rate:"); 127 | Serial.print(_samp_rate,DEC); 128 | Serial.println("K"); 129 | 130 | Serial.print("[YDLIDAR INFO] Current Scan Frequency:"); 131 | Serial.print(freq,DEC); 132 | Serial.println("Hz"); 133 | delay(100); 134 | device_health healthinfo; 135 | if (lidar.getHealth(healthinfo, 100) == RESULT_OK){ 136 | // detected... 137 | Serial.print("[YDLIDAR INFO] YDLIDAR running correctly! The health status:"); 138 | Serial.println( healthinfo.status==0?"well":"bad"); 139 | if(lidar.startScan() == RESULT_OK){ 140 | isScanning = true; 141 | //start motor in 1.8v 142 | setMotorSpeed(1.8); 143 | digitalWrite(YDLIDAR_MOTRO_EN, HIGH); 144 | Serial.println("Now YDLIDAR is scanning ......"); 145 | //delay(1000); 146 | }else{ 147 | Serial.println("start YDLIDAR is failed! Continue........"); 148 | } 149 | }else{ 150 | Serial.println("cannot retrieve YDLIDAR health"); 151 | } 152 | 153 | 154 | }else{ 155 | Serial.println("YDLIDAR get DeviceInfo Error!!!"); 156 | } 157 | } 158 | 159 | -------------------------------------------------------------------------------- /examples/YDLidar_SerialEvent/QueueList.h: -------------------------------------------------------------------------------- 1 | // header defining the interface of the source. 2 | #ifndef _QUEUELIST_H 3 | #define _QUEUELIST_H 4 | 5 | // the definition of the queue class. 6 | template 7 | class QueueList { 8 | public: 9 | // init the queue (constructor). 10 | QueueList (); 11 | 12 | // clear the queue (destructor). 13 | ~QueueList (); 14 | 15 | // push an item to the queue. 16 | void push (const T i); 17 | 18 | // pop an item from the queue. 19 | T pop (); 20 | 21 | // get an item from the queue. 22 | T peek () const; 23 | 24 | // check if the queue is empty. 25 | bool isEmpty () const; 26 | 27 | // get the number of items in the queue. 28 | int count () const; 29 | 30 | private: 31 | // the structure of each node in the list. 32 | typedef struct node { 33 | T item; // the item in the node. 34 | node * next; // the next node in the list. 35 | } node; 36 | 37 | typedef node * link; // synonym for pointer to a node. 38 | 39 | int size; // the size of the queue. 40 | link head; // the head of the list. 41 | link tail; // the tail of the list. 42 | }; 43 | 44 | // init the queue (constructor). 45 | template 46 | QueueList::QueueList () { 47 | size = 0; // set the size of queue to zero. 48 | head = NULL; // set the head of the list to point nowhere. 49 | tail = NULL; // set the tail of the list to point nowhere. 50 | } 51 | 52 | // clear the queue (destructor). 53 | template 54 | QueueList::~QueueList () { 55 | // deallocate memory space of each node in the list. 56 | for (link t = head; t != NULL; head = t) { 57 | t = head->next; delete head; 58 | } 59 | 60 | size = 0; // set the size of queue to zero. 61 | tail = NULL; // set the tail of the list to point nowhere. 62 | } 63 | 64 | // push an item to the queue. 65 | template 66 | void QueueList::push (const T i) { 67 | // create a temporary pointer to tail. 68 | link t = tail; 69 | 70 | // create a new node for the tail. 71 | tail = (link) new node; 72 | 73 | 74 | // set the next of the new node. 75 | tail->next = NULL; 76 | 77 | // store the item to the new node. 78 | tail->item = i; 79 | 80 | // check if the queue is empty. 81 | if (isEmpty ()) 82 | // make the new node the head of the list. 83 | head = tail; 84 | else 85 | // make the new node the tail of the list. 86 | t->next = tail; 87 | 88 | // increase the items. 89 | size++; 90 | } 91 | 92 | // pop an item from the queue. 93 | template 94 | T QueueList::pop () { 95 | 96 | // get the item of the head node. 97 | T item = head->item; 98 | 99 | // remove only the head node. 100 | link t = head->next; delete head; head = t; 101 | 102 | // decrease the items. 103 | size--; 104 | 105 | // return the item. 106 | return item; 107 | } 108 | 109 | // get an item from the queue. 110 | template 111 | T QueueList::peek () const { 112 | 113 | // return the item of the head node. 114 | return head->item; 115 | } 116 | 117 | // check if the queue is empty. 118 | template 119 | bool QueueList::isEmpty () const { 120 | return head == NULL; 121 | } 122 | 123 | // get the number of items in the queue. 124 | template 125 | int QueueList::count () const { 126 | return size; 127 | } 128 | 129 | 130 | 131 | #endif // _QUEUELIST_H 132 | -------------------------------------------------------------------------------- /examples/YDLidar_SerialEvent/YDLidar_SerialEvent.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * YDLIDAR SYSTEM 3 | * YDLIDAR Arduino 4 | * 5 | * Copyright 2015 - 2018 EAI TEAM 6 | * http://www.eaibot.com 7 | * 8 | */ 9 | 10 | #include 11 | #include "QueueList.h" 12 | 13 | #define SIZE_OF_SCAN_BUFFER 32 14 | 15 | // You need to create an driver instance 16 | YDLidar lidar; 17 | 18 | bool isScanning = false; 19 | 20 | #define YDLIDAR_MOTOR_SCTP 3 // The PWM pin for control the speed of YDLIDAR's motor. 21 | #define YDLIDAR_MOTRO_EN 7 // The ENABLE PIN for YDLIDAR's motor 22 | 23 | 24 | QueueList scans; 25 | 26 | void setup() { 27 | 28 | //f4,s4:115200 29 | //g4:230400 30 | //x4:128000 31 | // bind the YDLIDAR driver to the arduino hardware serial 32 | lidar.begin(Serial, 128000); 33 | //output mode 34 | pinMode(YDLIDAR_MOTOR_SCTP, OUTPUT); 35 | pinMode(YDLIDAR_MOTRO_EN, OUTPUT); 36 | 37 | 38 | while(Serial.read() >= 0){}; 39 | 40 | 41 | } 42 | 43 | void loop() { 44 | if(isScanning){ 45 | if(scans.count() > 0){ 46 | scanPoint _point; 47 | _point = scans.pop(); 48 | float distance = _point.distance; //distance value in mm unit 49 | float angle = _point.angle; //anglue value in degree 50 | Serial.print("current angle:"); 51 | Serial.println(angle, DEC); 52 | Serial.print("current distance:"); 53 | Serial.println(distance, DEC); 54 | } 55 | }else{ 56 | //stop motor 57 | digitalWrite(YDLIDAR_MOTRO_EN, LOW); 58 | setMotorSpeed(0); 59 | restartScan(); 60 | } 61 | } 62 | 63 | void serialEvent() { 64 | if (lidar.waitScanDot() == RESULT_OK) { 65 | scanPoint _point = lidar.getCurrentScanPoint(); 66 | if(scans.count() <= SIZE_OF_SCAN_BUFFER){ 67 | scans.push(_point); 68 | }else{ 69 | scans.pop(); 70 | scans.push(_point); 71 | } 72 | }else{ 73 | Serial.println(" YDLIDAR get Scandata fialed!!"); 74 | //restartScan(); 75 | } 76 | } 77 | 78 | void setMotorSpeed(float vol){ 79 | uint8_t PWM = (uint8_t)(51*vol); 80 | analogWrite(YDLIDAR_MOTOR_SCTP, PWM); 81 | } 82 | 83 | void restartScan(){ 84 | device_info deviceinfo; 85 | if (lidar.getDeviceInfo(deviceinfo, 100) == RESULT_OK) { 86 | int _samp_rate=4; 87 | String model; 88 | float freq = 7.0f; 89 | switch(deviceinfo.model){ 90 | case 1: 91 | model="F4"; 92 | _samp_rate=4; 93 | freq = 7.0; 94 | break; 95 | case 4: 96 | model="S4"; 97 | _samp_rate=4; 98 | freq = 7.0; 99 | break; 100 | case 5: 101 | model="G4"; 102 | _samp_rate=9; 103 | freq = 7.0; 104 | break; 105 | case 6: 106 | model="X4"; 107 | _samp_rate=5; 108 | freq = 7.0; 109 | break; 110 | default: 111 | model = "Unknown"; 112 | } 113 | 114 | uint16_t maxv = (uint16_t)(deviceinfo.firmware_version>>8); 115 | uint16_t midv = (uint16_t)(deviceinfo.firmware_version&0xff)/10; 116 | uint16_t minv = (uint16_t)(deviceinfo.firmware_version&0xff)%10; 117 | if(midv==0){ 118 | midv = minv; 119 | minv = 0; 120 | } 121 | 122 | 123 | Serial.print("Firmware version:"); 124 | Serial.print(maxv,DEC); 125 | Serial.print("."); 126 | Serial.print(midv,DEC); 127 | Serial.print("."); 128 | Serial.println(minv,DEC); 129 | 130 | Serial.print("Hardware version:"); 131 | Serial.println((uint16_t)deviceinfo.hardware_version,DEC); 132 | 133 | Serial.print("Model:"); 134 | Serial.println(model); 135 | 136 | Serial.print("Serial:"); 137 | for (int i=0;i<16;i++){ 138 | Serial.print(deviceinfo.serialnum[i]&0xff, DEC); 139 | } 140 | Serial.println(""); 141 | 142 | Serial.print("[YDLIDAR INFO] Current Sampling Rate:"); 143 | Serial.print(_samp_rate,DEC); 144 | Serial.println("K"); 145 | 146 | Serial.print("[YDLIDAR INFO] Current Scan Frequency:"); 147 | Serial.print(freq,DEC); 148 | Serial.println("Hz"); 149 | delay(100); 150 | device_health healthinfo; 151 | if (lidar.getHealth(healthinfo, 100) == RESULT_OK){ 152 | // detected... 153 | Serial.print("[YDLIDAR INFO] YDLIDAR running correctly! The health status:"); 154 | Serial.println( healthinfo.status==0?"well":"bad"); 155 | if(lidar.startScan() == RESULT_OK){ 156 | isScanning = true; 157 | //start motor in 1.8v 158 | digitalWrite(YDLIDAR_MOTRO_EN, HIGH); 159 | setMotorSpeed(1.8); 160 | Serial.println("Now YDLIDAR is scanning ......"); 161 | //delay(1000); 162 | }else{ 163 | Serial.println("start YDLIDAR is failed! Continue........"); 164 | } 165 | }else{ 166 | Serial.println("cannot retrieve YDLIDAR health"); 167 | } 168 | 169 | 170 | }else{ 171 | Serial.println("YDLIDAR get DeviceInfo Error!!!"); 172 | } 173 | } 174 | 175 | -------------------------------------------------------------------------------- /inc/v8stdint.h: -------------------------------------------------------------------------------- 1 | #ifndef V8STDINT_H_ 2 | #define V8STDINT_H_ 3 | 4 | #include 5 | #include 6 | 7 | #if defined(_WIN32) && !defined(__MINGW32__) 8 | typedef signed char int8_t; 9 | typedef unsigned char uint8_t; 10 | typedef short int16_t; 11 | typedef unsigned short uint16_t; 12 | typedef int int32_t; 13 | typedef unsigned int uint32_t; 14 | typedef __int64 int64_t; 15 | typedef unsigned __int64 uint64_t; 16 | #else 17 | 18 | #include 19 | 20 | #endif 21 | 22 | #define __small_endian 23 | 24 | #ifndef __GNUC__ 25 | #define __attribute__(x) 26 | #endif 27 | 28 | 29 | #ifdef _AVR_ 30 | typedef uint8_t _size_t; 31 | #define THREAD_PROC 32 | #elif defined (WIN64) 33 | typedef uint64_t _size_t; 34 | #define THREAD_PROC __stdcall 35 | #elif defined (WIN32) 36 | typedef uint32_t _size_t; 37 | #define THREAD_PROC __stdcall 38 | #elif defined (__GNUC__) 39 | typedef unsigned long _size_t; 40 | #define THREAD_PROC 41 | #elif defined (__ICCARM__) 42 | typedef uint32_t _size_t; 43 | #define THREAD_PROC 44 | #endif 45 | 46 | typedef _size_t (THREAD_PROC * thread_proc_t ) ( void * ); 47 | 48 | typedef int32_t result_t; 49 | 50 | #define RESULT_OK 0 51 | #define RESULT_TIMEOUT -1 52 | #define RESULT_FAIL -2 53 | 54 | #endif // V8STDINT_H_ 55 | -------------------------------------------------------------------------------- /keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Datatypes (KEYWORD1) 3 | ####################################### 4 | scanDot KEYWORD1 5 | YDLidar KEYWORD1 6 | 7 | ####################################### 8 | # Methods and Functions (KEYWORD2) 9 | ####################################### 10 | begin KEYWORD2 11 | end KEYWORD2 12 | isOpen KEYWORD2 13 | getHealth KEYWORD2 14 | getDeviceInfo KEYWORD2 15 | stop KEYWORD2 16 | startScan KEYWORD2 17 | waitScanDot KEYWORD2 18 | getCurrentScanPoint KEYWORD2 19 | -------------------------------------------------------------------------------- /library.properties: -------------------------------------------------------------------------------- 1 | name=YDLidar 2 | version=1.2 3 | author=eaibot 4 | maintainer=eaibot 5 | sentence=Libary for the Arduino YDLidar shield. 6 | paragraph=With this library you can instantiate YDLidar and getCurrentScanPoint through Serial. 7 | category=Sensors 8 | url=http:http://www.eaibot.com 9 | architectures=* 10 | --------------------------------------------------------------------------------