72 lines
3.6 KiB
C
72 lines
3.6 KiB
C
/****************************************************************************************************************************
|
|
RP2040_ISR_Servo_Debug.h
|
|
For :
|
|
- MBED RP2040-based boards such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040.
|
|
- RP2040-based boards such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040 using arduino_pico core
|
|
|
|
Written by Khoi Hoang
|
|
|
|
Built by Khoi Hoang https://github.com/khoih-prog/RP2040_ISR_Servo
|
|
Licensed under MIT license
|
|
|
|
Version: 1.1.2
|
|
|
|
Version Modified By Date Comments
|
|
------- ----------- ---------- -----------
|
|
1.0.0 K Hoang 21/08/2021 Initial coding for RP2040 boards using ArduinoCore-mbed or arduino-pico core
|
|
1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO
|
|
1.1.0 K Hoang 27/02/2022 Fix setPulseWidth() bug. Convert to h-only style
|
|
1.1.1 K Hoang 08/03/2022 Delete redundant `.cpp` file causing compile error
|
|
1.1.2 K Hoang 08/03/2022 Permit using servos with different pulse ranges simultaneously
|
|
*****************************************************************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#ifndef RP2040_ISR_Servo_Debug_h
|
|
#define RP2040_ISR_Servo_Debug_h
|
|
|
|
//////////////////////////////////////////
|
|
|
|
#ifndef ISR_SERVO_DEBUG
|
|
#define ISR_SERVO_DEBUG 1
|
|
#endif
|
|
|
|
//////////////////////////////////////////
|
|
|
|
#if !defined(ISR_SERVO_DEBUG_OUTPUT)
|
|
#define ISR_SERVO_DEBUG_OUTPUT Serial
|
|
#endif
|
|
|
|
//////////////////////////////////////////////////////
|
|
|
|
const char ISR_SERVO_MARK[] = "[ISR_SERVO] ";
|
|
const char ISR_SERVO_SP[] = " ";
|
|
|
|
#define ISR_SERVO_PRINT ISR_SERVO_DEBUG_OUTPUT.print
|
|
#define ISR_SERVO_PRINTLN ISR_SERVO_DEBUG_OUTPUT.println
|
|
#define ISR_SERVO_FLUSH ISR_SERVO_DEBUG_OUTPUT.flush
|
|
|
|
#define ISR_SERVO_PRINT_MARK ISR_SERVO_PRINT(ISR_SERVO_MARK)
|
|
#define ISR_SERVO_PRINT_SP ISR_SERVO_PRINT(ISR_SERVO_SP)
|
|
|
|
//////////////////////////////////////////////////////
|
|
|
|
#define ISR_SERVO_LOGERROR(x) if(ISR_SERVO_DEBUG>0) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINTLN(x); }
|
|
#define ISR_SERVO_LOGERROR0(x) if(ISR_SERVO_DEBUG>0) { ISR_SERVO_PRINT(x); }
|
|
#define ISR_SERVO_LOGERROR1(x,y) if(ISR_SERVO_DEBUG>0) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(y); }
|
|
#define ISR_SERVO_LOGERROR2(x,y,z) if(ISR_SERVO_DEBUG>0) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(y); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(z); }
|
|
#define ISR_SERVO_LOGERROR3(x,y,z,w) if(ISR_SERVO_DEBUG>0) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(y); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(z); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(w); }
|
|
|
|
|
|
//////////////////////////////////////////////////////
|
|
|
|
#define ISR_SERVO_LOGDEBUG(x) if(ISR_SERVO_DEBUG>1) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINTLN(x); }
|
|
#define ISR_SERVO_LOGDEBUG0(x) if(ISR_SERVO_DEBUG>1) { ISR_SERVO_PRINT(x); }
|
|
#define ISR_SERVO_LOGDEBUG1(x,y) if(ISR_SERVO_DEBUG>1) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(y); }
|
|
#define ISR_SERVO_LOGDEBUG2(x,y,z) if(ISR_SERVO_DEBUG>1) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(y); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(z); }
|
|
#define ISR_SERVO_LOGDEBUG3(x,y,z,w) if(ISR_SERVO_DEBUG>1) { ISR_SERVO_PRINT_MARK; ISR_SERVO_PRINT(x); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(y); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINT(z); ISR_SERVO_PRINT_SP; ISR_SERVO_PRINTLN(w); }
|
|
//////////////////////////////////////////
|
|
|
|
|
|
#endif // RP2040_ISR_Servo_Debug_h
|