Revision f8cf404d components/Lidar.cpp

View differences:

components/Lidar.cpp
1 1
#include <amiro/Lidar.h>
2 2

  
3
#include <global.hpp>
4

  
3 5
using namespace chibios_rt;
4 6
using namespace amiro;
5 7

  
8
extern Global global;
9

  
6 10
uint8_t Lidar::scannedData[NUMBER_OF_CHARACTERS + 1] = {};
7 11

  
8 12
Lidar::Lidar(const uint8_t boardId, Lidar::SETUP setup)
......
49 53
        flushSD2InputQueue();
50 54

  
51 55
        // Configure LIDAR serial interface speed
52
//       chprintf((BaseSequentialStream*) &SD1, "Speed switch to " STR(SD_SPEED) "\n");
56
//       chprintf((BaseSequentialStream*) &global.sercanmux1, "Speed switch to " STR(SD_SPEED) "\n");
53 57
        chprintf((BaseSequentialStream*) &SD2, "SS" STR(SD_SPEED_PREFIX) STR(SD_SPEED) LF);
54 58

  
55 59
        // Check if the switch went well, otherwise terminate the thread
56 60
        if (checkDataString("SS" STR(SD_SPEED_PREFIX) STR(SD_SPEED) "\n00P\n\n")) {
57
          chprintf((BaseSequentialStream*) &SD1, "Lidar speed switch OK\n");
61
          chprintf((BaseSequentialStream*) &global.sercanmux1, "Lidar speed switch OK\n");
58 62
          // Configure serial interface of STM32
59 63
          sdStop(&SD2);
60 64
          SerialConfig sdLidarconf = { SD_SPEED, 0, 0, 0 };
61 65
          sdStart(&SD2, &sdLidarconf);
62 66
        } else {
63
          chprintf((BaseSequentialStream*) &SD1, "Lidar speed switch NOT OK: Terminating Lidar \n");
67
          chprintf((BaseSequentialStream*) &global.sercanmux1, "Lidar speed switch NOT OK: Terminating Lidar \n");
64 68
          palWritePad(GPIOB, GPIOB_LASER_EN, PAL_LOW);
65 69
          return -1;
66 70
        }
......
200 204
            --this->dataIdx;
201 205
            this->lastInput = this->newInput;
202 206
          }
203
          //chprintf((BaseSequentialStream*) &SD1, "%d ", this->newInput);
207
          //chprintf((BaseSequentialStream*) &global.sercanmux1, "%d ", this->newInput);
204 208
        } else {
205 209
          step = FAIL;
206 210
        }
......
216 220
        break;
217 221
      case DATA_SHOW:
218 222
        // Show the decoded data
219
        chprintf((BaseSequentialStream*) &SD1, "\n%d", this->dataCounter);
223
        chprintf((BaseSequentialStream*) &global.sercanmux1, "\n%d", this->dataCounter);
220 224
        for (uint32_t idx=0; idx < this->dataIdx; idx+=2) {
221
          chprintf((BaseSequentialStream*) &SD1, "\n%d", *((uint16_t*) &(Lidar::scannedData[idx])));
225
          chprintf((BaseSequentialStream*) &global.sercanmux1, "\n%d", *((uint16_t*) &(Lidar::scannedData[idx])));
222 226
        }
223 227
        step = FINISH;
224 228
        break;
......
252 256
      if (lastInput == 10 && newInput == 10) {
253 257
        return;
254 258
      } else {
255
        chprintf((BaseSequentialStream*) &SD1, "%c", newInput);
259
        chprintf((BaseSequentialStream*) &global.sercanmux1, "%c", newInput);
256 260
      }
257 261
      lastInput = newInput;
258 262
    } else {
259
      chprintf((BaseSequentialStream*) &SD1, "TIMEOUT\n", newInput);
263
      chprintf((BaseSequentialStream*) &global.sercanmux1, "TIMEOUT\n", newInput);
260 264
      return;
261 265
    }
262 266
  }
......
291 295

  
292 296
void Lidar::printDetails() {
293 297

  
294
  chprintf((BaseSequentialStream*) &SD1, "Print sensor details:\n");
298
  chprintf((BaseSequentialStream*) &global.sercanmux1, "Print sensor details:\n");
295 299

  
296 300
  // Tell the sensor to transmit its details
297 301
  chprintf((BaseSequentialStream*) &SD2, "VV\n");
......
302 306

  
303 307
void Lidar::printSpecification() {
304 308

  
305
  chprintf((BaseSequentialStream*) &SD1, "Print sensor specification:\n");
309
  chprintf((BaseSequentialStream*) &global.sercanmux1, "Print sensor specification:\n");
306 310

  
307 311
  // Tell the sensor to transmit its specifications
308 312
  chprintf((BaseSequentialStream*) &SD2, "PP\n");
......
312 316
}
313 317

  
314 318
void Lidar::printInformation() {
315
  chprintf((BaseSequentialStream*) &SD1, "Print sensor information:\n");
319
  chprintf((BaseSequentialStream*) &global.sercanmux1, "Print sensor information:\n");
316 320

  
317 321
  // Tell the sensor to transmit its information
318 322
  chprintf((BaseSequentialStream*) &SD2, "II\n");

Also available in: Unified diff