Skip to content

Commit ce1c484

Browse files
committed
Bumped version to 3.1.0
1 parent 204503f commit ce1c484

File tree

10 files changed

+478
-14
lines changed

10 files changed

+478
-14
lines changed

.github/workflows/LibraryBuild.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,15 @@ jobs:
7070
#############################################################################################################
7171
include:
7272
- arduino-boards-fqbn: arduino:avr:uno
73+
required-libraries: NeoPatterns,PlayRtttl # for QuadrupedControl: -DQUADRUPED_1_WITH_DVD_REMOTE
7374
build-properties: # the flags were put in compiler.cpp.extra_flags
7475
OneServo: -DUSE_PCA9685_SERVO_EXPANDER -DDISABLE_PAUSE_RESUME
7576
SymmetricEasing: -DDISABLE_COMPLEX_FUNCTIONS -DDEBUG
7677
AsymmetricEasing: -DTRACE
7778
Simple: -DPRINT_FOR_SERIAL_PLOTTER
7879
PCA9685_ExpanderFor32Servos: -DTRACE -DDISABLE_MICROS_AS_DEGREE_PARAMETER
7980
PCA9685_ExpanderAndServo: -DUSE_SOFT_I2C_MASTER
80-
QuadrupedControl: -DQUADRUPED_1_WITH_DVD_REMOTE
81+
QuadrupedControl: -DQUADRUPED_1_WITH_DVD_REMOTE -mrelax
8182

8283
- arduino-boards-fqbn: arduino:avr:leonardo
8384
sketches-exclude: TwoServos,RobotArmControl # No LightweightServoLib and TinyReceiver available
@@ -146,7 +147,7 @@ jobs:
146147

147148
# First of all, we clone the repo using the `checkout` action.
148149
- name: Checkout
149-
uses: actions/checkout@v2
150+
uses: actions/checkout@master
150151

151152
- name: Arduino Lint
152153
uses: arduino/arduino-lint-action@v1

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# [ServoEasing](https://github.com/ArminJo/ServoEasing) - move your servo more natural
22
A library for smooth servo movements. It uses the standard Arduino Servo library and therefore has its restrictions regarding pins and platform support.
33

4-
### [Version 3.0.1](https://github.com/ArminJo/ServoEasing/archive/master.zip) - work in progress
4+
### [Version 3.1.1](https://github.com/ArminJo/ServoEasing/archive/master.zip) - work in progress
55

66
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
77
[![Installation instructions](https://www.ardu-badge.com/badge/ServoEasing.svg?)](https://www.ardu-badge.com/ServoEasing)
@@ -325,11 +325,12 @@ This will print internal information visible in the Arduino *Serial Monitor* whi
325325
If you see errors like this `Simple.ino:57: undefined reference to ServoEasing::attach(int, int)`, you included *ServoEasing.h* instead of *ServoEasing.hpp*.
326326

327327
# Revision History
328-
### Version 3.0.1
328+
### Version 3.1.0
329329
- SAMD51 support by Lutz Aumüller.
330330
- Added support to pause and resume and `DISABLE_PAUSE_RESUME`.
331331
- Fixed some bugs for PCA9685 expander introduced in 3.0.0.
332332
- Feather Huzzah support with the help of Danner Claflin.
333+
- Added `ENABLE_EXTERNAL_SERVO_TIMER_HANDLER` macro.
333334

334335
### Version 3.0.0
335336
- Added target reached callback functionality, to enable multiple movements without loop control.

examples/QuadrupedControl/QuadrupedConfiguration.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ extern ServoEasing USServo;
9090
#endif
9191

9292
#if defined(QUADRUPED_HAS_NEOPIXEL)
93+
// Must be defined here, since we still have *.cpp sources
94+
#define DO_NOT_SUPPORT_BRIGHTNESS
9395
#define DO_NOT_SUPPORT_RGBW // saves up to 428 bytes additional program memory for the AllPatternsOnMultiDevices() example.
9496

9597
// patterns always used if Neopixel are enabled

examples/QuadrupedControl/QuadrupedControl.ino

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,21 +63,22 @@
6363
#define QUADRUPED_MOVEMENT_BREAK_FLAG (doShutDown)
6464
#endif
6565

66+
#define USE_NO_RTX_EXTENSIONS // Disables RTX format definitions `'s'` (style) and `'l'` (loop). Saves up to 332 bytes program memory
6667
#define ENABLE_EXTERNAL_SERVO_TIMER_HANDLER // Evaluated by ServoEasing.hpp
6768
#include "QuadrupedControlCommands.hpp" // In turn includes ServoEasing. Commands can also be used e.g. in loop().
6869
#if defined(QUADRUPED_HAS_NEOPIXEL)
6970
#include "QuadrupedNeoPixel.hpp"
7071
#endif
72+
#if defined(QUADRUPED_ENABLE_RTTTL)
73+
#include <PlayRtttl.hpp>
74+
#endif
7175

7276
#include "ADCUtils.hpp" // for getVCCVoltageMillivoltSimple() and printVCCVoltageMillivolt()
7377

7478
#if defined(QUADRUPED_HAS_US_DISTANCE_SERVO)
7579
ServoEasing USServo;
7680
#endif
7781

78-
#if defined(QUADRUPED_ENABLE_RTTTL)
79-
#include <PlayRtttl.hpp>
80-
#endif
8182

8283
//#define INFO // activate this to see serial info output
8384

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* QuadrupedNeoPixel.h
3+
*
4+
* Created on: 18.09.2019
5+
* Author: Armin
6+
*/
7+
8+
#ifndef _QUADRUPED_NEOPIXEL_H
9+
#define _QUADRUPED_NEOPIXEL_H
10+
11+
#if defined(QUADRUPED_HAS_NEOPIXEL)
12+
#include <NeoPatterns.h>
13+
14+
#define PIN_NEOPIXEL 4
15+
// How many NeoPixels are mounted?
16+
#define NUM_PIXELS 24
17+
18+
#define PIXELS_ON_ONE_BAR 8
19+
#define PIXEL_OFFSET_RIGHT_BAR 0
20+
#define PIXEL_OFFSET_FRONT_BAR PIXELS_ON_ONE_BAR
21+
#define PIXEL_OFFSET_LEFT_BAR (2*PIXELS_ON_ONE_BAR)
22+
23+
void initNeoPatterns();
24+
25+
#if defined(HAS_ADDITIONAL_REMOTE_COMMANDS)
26+
void doPattern1();
27+
void doPattern2();
28+
void doPatternStripes();
29+
void doPatternHeartbeat();
30+
void doPatternFire();
31+
#endif
32+
33+
void doWipeOutPatterns();
34+
35+
bool isAtLeastOnePatternActive();
36+
37+
void showPatternSynchronizedWithServos();
38+
39+
void handleAutomaticMovementPattern();
40+
void handleQuadrupedNeoPixelUpdate();
41+
void handleServoTimerInterrupt();
42+
43+
uint16_t getDelayFromSpeed();
44+
45+
extern NeoPatterns QuadrupedNeoPixelBar; // The main 24 pixel bar containing all the other 3 logical NeoPatterns objects.
46+
extern NeoPatterns RightNeoPixelBar; // 8 Pixel bar at the right
47+
extern NeoPatterns FrontNeoPixelBar;
48+
extern NeoPatterns LeftNeoPixelBar;
49+
extern color32_t sBarBackgroundColorArrayForDistance[]; // // The color background for front distance bar
50+
51+
extern bool sAtLeastOnePatternsIsActive; // True if at least one pattern is active => call update()
52+
extern bool sCleanPatternAfterEnd; // Do a wipe out after pattern ended
53+
extern bool sShowPatternSynchronizedWithServos; // Flag set e.g. by main loop to force to show the pattern (e.g.distance value) synchronized with servo interrupts.
54+
55+
#endif // #if defined(QUADRUPED_HAS_NEOPIXEL)
56+
57+
#endif // _QUADRUPED_NEOPIXEL_H

0 commit comments

Comments
 (0)