Skip to content

Commit

Permalink
Merge branch 'WS2811Lights' into develop
Browse files Browse the repository at this point in the history
vyruz1986 committed Aug 22, 2017
2 parents 5540508 + f7f24ea commit b7504d6
Showing 20 changed files with 878 additions and 167 deletions.
7 changes: 1 addition & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -191,9 +191,4 @@ FlyballETS-Software.vcxproj.filters

#VisualMicro files
Visual Micro/
__vm/Upload.vmps.xml
__vm/Compile.vmps.xml
__vm/Upload.vmps.xml
__vm/Compile.vmps.xml
__vm/Configuration.Debug.vmps.xml
__vm/Upload.vmps.xml
__vm/
2 changes: 1 addition & 1 deletion BatterySensor.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// file: BatterySensor.cpp
//
// summary: Implements the battery sensor class
// Copyright (C) 2015 Alex Goris
// Copyright (C) 2017 Alex Goris
// This file is part of FlyballETS-Software
// FlyballETS-Software is free software : you can redistribute it and / or modify
// it under the terms of the GNU General Public License as published by
2 changes: 1 addition & 1 deletion BatterySensor.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// BatterySensor.h
// Copyright (C) 2015 Alex Goris
// Copyright (C) 2017 Alex Goris
// This file is part of FlyballETS-Software
// FlyballETS-Software is free software : you can redistribute it and / or modify
// it under the terms of the GNU General Public License as published by
77 changes: 35 additions & 42 deletions FlyballETS-Software.ino
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
// Pro Mini which controls all components in the Flyball ETS These sources are originally
// distributed from: https://github.com/vyruz1986/FlyballETS-Software.
//
// Copyright (C) 2015 Alex Goris
// Copyright (C) 2017 Alex Goris
// This file is part of FlyballETS-Software
// FlyballETS-Software is free software : you can redistribute it and / or modify it under the terms of
// the GNU General Public License as published by the Free Software Foundation, either version 3 of
@@ -21,6 +21,7 @@
//
// You should have received a copy of the GNU General Public License along with this program.If not,
// see <http://www.gnu.org/licenses/>
#include "config.h"
#include "StreamPrint.h"
#include "LCDController.h"
#include "RaceHandler.h"
@@ -39,12 +40,12 @@
- D5: LCD Data6
- D6: LCD Data5
- D7: LCD Data4
- D8: Lights 74HC595 clock pin
- D9: Lights 74HC595 data pin
- D8: WS2811B lights data pin / Lights 74HC595 clock pin
- D9: <free> / Lights 74HC595 data pin
- D10: LCD2 (line 3&4) enable pin
- D11: LCD1 (line 1&2) enable pin
- D12: LCD RS Pin
- D13: Lights 74HC595 latch pin
- D13: <free> / Lights 74HC595 latch pin
- A0: remote D5
- A1: remote D2
- A2: remote D1
@@ -61,6 +62,10 @@
#include "Simulator.h"
#endif

#ifdef WS281x
#include <Adafruit_NeoPixel.h>
#endif // WS281x

uint8_t iS1Pin = 2;
uint8_t iS2Pin = 3;
uint8_t iCurrentDog;
@@ -76,6 +81,18 @@ int iBatterySensorPin = A6;
uint16_t iBatteryVoltage = 0;

//Initialise Lights stuff
#ifdef WS281x
uint8_t iLightsDataPin = 8;
Adafruit_NeoPixel LightsStrip = Adafruit_NeoPixel(5, iLightsDataPin, NEO_RGB);
#else
uint8_t iLightsClockPin = 8;
uint8_t iLightsDataPin = 9;
uint8_t iLightsLatchPin = 13;
#endif // WS281x



//Set last serial output variable
long lLastSerialOutput = 0;

//remote control pins
@@ -111,7 +128,11 @@ void setup()
BatterySensor.init(iBatterySensorPin);

//Initialize LightsController class with shift register pins
LightsController.init(13,8,9);
#ifdef WS281x
LightsController.init(&LightsStrip);
#else
LightsController.init(iLightsLatchPin, iLightsClockPin, iLightsDataPin);
#endif

//Initialize RaceHandler class with S1 and S2 pins
RaceHandler.init(iS1Pin, iS2Pin);
@@ -158,21 +179,26 @@ void loop()

//Race start/stop button (remote D0 output) or serial command
if ((digitalRead(iRC0Pin) == HIGH
&& (millis() - lLastRCPress[0] > 2000)))
&& (millis() - lLastRCPress[0] > 2000))
|| (bSerialStringComplete
&& (strSerialData == "START"
|| strSerialData == "STOP")))
{
StartStopRace();
}

//Race reset button (remote D1 output)
if (digitalRead(iRC1Pin) == HIGH
&& (millis() - lLastRCPress[1] > 2000))
|| (bSerialStringComplete && strSerialData == "RESET"))
{
ResetRace();
}

//Dog0 fault RC button
if (digitalRead(iRC2Pin) == HIGH
&& (millis() - lLastRCPress[2] > 2000))
|| (bSerialStringComplete && strSerialData == "D0F"))
{
lLastRCPress[2] = millis();
//Toggle fault for dog
@@ -182,6 +208,7 @@ void loop()
//Dog1 fault RC button
if (digitalRead(iRC3Pin) == HIGH
&& (millis() - lLastRCPress[3] > 2000))
|| (bSerialStringComplete && strSerialData == "D1F"))
{
lLastRCPress[3] = millis();
//Toggle fault for dog
@@ -190,6 +217,7 @@ void loop()
//Dog2 fault RC button
if (digitalRead(iRC4Pin) == HIGH
&& (millis() - lLastRCPress[4] > 2000))
|| (bSerialStringComplete && strSerialData == "D2F"))
{
lLastRCPress[4] = millis();
//Toggle fault for dog
@@ -199,6 +227,7 @@ void loop()
//Dog3 fault RC button
if (digitalRead(iRC5Pin) == HIGH
&& (millis() - lLastRCPress[5] > 2000))
|| (bSerialStringComplete && strSerialData == "D3F"))
{
lLastRCPress[5] = millis();
//Toggle fault for dog
@@ -293,42 +322,6 @@ void loop()
bDEBUG = !bDEBUG;
}

if (strSerialData == "RT?")
{
Serialprint("RT:%s\r\n", cElapsedRaceTime);
}

if (strSerialData == "START"
|| strSerialData == "STOP")
{
StartStopRace();
}

if (strSerialData == "RESET")
{
ResetRace();
}

if (strSerialData == "D0F")
{
RaceHandler.SetDogFault(0);
}

if (strSerialData == "D1F")
{
RaceHandler.SetDogFault(1);
}

if (strSerialData == "D2F")
{
RaceHandler.SetDogFault(2);
}

if (strSerialData == "D3F")
{
RaceHandler.SetDogFault(3);
}

strSerialData = "";
bSerialStringComplete = false;
}
13 changes: 7 additions & 6 deletions FlyballETS-Software.vcxproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -19,13 +19,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
@@ -45,10 +45,10 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src;C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src\utility;C:\Program Files (x86)\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries;C:\users\Alex\Documents\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino;C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs;C:\Users\Alex\Documents\Arduino\FlyballETS-Software;C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino;C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs;C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src;C:\Program Files (x86)\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\lmzo0b05.hr4\Micro Platforms\default\debuggers;C:\users\Alex\Documents\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\tools\avr/avr/include/;C:\Program Files (x86)\Arduino\hardware\tools\avr//avr/include/avr/;C:\Program Files (x86)\Arduino\hardware\tools\avr/lib\gcc\avr\4.8.1\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ForcedIncludeFiles>C:\Users\Alex\Documents\Arduino\FlyballETS-Software\__vm\.FlyballETS-Software.vsarduino.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(ProjectDir)..\Arduino\libraries\Adafruit_NeoPixel;C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src;C:\Program Files (x86)\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries;$(ProjectDir)..\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino;C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs;$(ProjectDir)..\FlyballETS-Software;C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\;C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\avr\;C:\Program Files (x86)\Arduino\hardware\tools\avr\lib\gcc\avr\4.8.1\include;C:\Program Files (x86)\Arduino\hardware\tools\avr\lib\gcc\avr\4.9.2\include;C:\Program Files (x86)\Arduino\hardware\tools\avr\lib\gcc\avr\4.9.3\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ForcedIncludeFiles>$(ProjectDir)__vm\.FlyballETS-Software.vsarduino.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<IgnoreStandardIncludePath>false</IgnoreStandardIncludePath>
<PreprocessorDefinitions>__AVR_ATmega328p__;__AVR_ATmega328P__;F_CPU=16000000L;ARDUINO=106011;ARDUINO_AVR_PRO;ARDUINO_ARCH_AVR;__cplusplus=201103L;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>__AVR_ATmega328p__;__AVR_ATmega328P__;F_CPU=16000000L;ARDUINO=10801;ARDUINO_AVR_PRO;ARDUINO_ARCH_AVR;__cplusplus=201103L;_VMICRO_INTELLISENSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -77,6 +77,7 @@
<ClInclude Include="BatterySensor.h">
<FileType>CppCode</FileType>
</ClInclude>
<ClInclude Include="config.h" />
<ClInclude Include="global.h">
<FileType>CppCode</FileType>
</ClInclude>
2 changes: 1 addition & 1 deletion LCDController.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// file: LCDController.cpp
//
// summary: Implements the LCD controller class
// Copyright (C) 2015 Alex Goris
// Copyright (C) 2017 Alex Goris
// This file is part of FlyballETS-Software
// FlyballETS-Software is free software : you can redistribute it and / or modify
// it under the terms of the GNU General Public License as published by
2 changes: 1 addition & 1 deletion LCDController.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// LCDController.h
// Copyright (C) 2015 Alex Goris
// Copyright (C) 2017 Alex Goris
// This file is part of FlyballETS-Software
// FlyballETS-Software is free software : you can redistribute it and / or modify
// it under the terms of the GNU General Public License as published by
Loading

0 comments on commit b7504d6

Please sign in to comment.