├── examples
├── HID
│ ├── README.md
│ ├── Firmware
│ │ ├── README.md
│ │ ├── 01-Sender
│ │ │ └── 01-Sender.ino
│ │ └── 02-Receiver
│ │ │ └── 02-Receiver.ino
│ └── Software
│ │ ├── HID_Tester
│ │ ├── 01_Receiver
│ │ │ ├── App.config
│ │ │ ├── packages.config
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── 01_Receiver.csproj
│ │ ├── 02_Sender
│ │ │ ├── App.config
│ │ │ ├── packages.config
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Program.cs
│ │ │ └── 02_Sender.csproj
│ │ └── HID_Tester.sln
│ │ └── .gitignore
├── .gitignore
├── Better-Callbacks
│ ├── README.md
│ ├── 02_FreqGen
│ │ ├── 02_FreqGen.ino
│ │ ├── FrequencyGenerator.h
│ │ ├── SimpleTimer.cpp
│ │ ├── FrequencyGenerator.cpp
│ │ └── SimpleTimer.h
│ ├── 03_Functors
│ │ ├── 03_Functors.ino
│ │ ├── SimpleTimer.h
│ │ ├── SimpleTimer.cpp
│ │ └── PulseGenerator.h
│ └── TraditionalCallbacks
│ │ ├── SimpleTimer.cpp
│ │ ├── TraditionalCallbacks.ino
│ │ └── SimpleTimer.h
├── Serial
│ ├── Firmware
│ │ └── simple
│ │ │ └── simple.ino
│ └── Software
│ │ ├── SerialReceiver
│ │ ├── packages.config
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── SerialReceiver.csproj
│ │ ├── Serial.sln
│ │ └── .gitignore
└── GPIO
│ ├── gpio
│ └── gpio.ino
│ └── pinList
│ ├── pin.h
│ └── pinList.ino
└── README.md
/examples/HID/README.md:
--------------------------------------------------------------------------------
1 | See https://github.com/TeensyUser/doc/wiki/Raw-HID for decription
2 |
--------------------------------------------------------------------------------
/examples/HID/Firmware/README.md:
--------------------------------------------------------------------------------
1 | See https://github.com/TeensyUser/doc/wiki/Raw-HID for decription
2 |
--------------------------------------------------------------------------------
/examples/.gitignore:
--------------------------------------------------------------------------------
1 | # vsTeensy Stuff
2 | **/.vsteensy
3 | **/.vscode
4 | **/makefile
5 | .clang-format
6 |
7 |
8 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/README.md:
--------------------------------------------------------------------------------
1 | ## Better Callbacks
2 |
3 | The examples in this folder belong to the Article [Better Callbacks](https://github.com/TeensyUser/doc/wiki/Better-Callbacks) in the WIKI
--------------------------------------------------------------------------------
/examples/Serial/Firmware/simple/simple.ino:
--------------------------------------------------------------------------------
1 | #include "Arduino.h"
2 |
3 | void setup()
4 | {
5 | }
6 |
7 | void loop()
8 | {
9 | static unsigned cnt = 0;
10 | Serial.println(cnt++);
11 | delay(50);
12 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Teensy User WIKI
2 |
3 | This repository hosts a WIKI for the PJRC Teensy boards.
4 |
5 | - This way to the PJRC Forum: https://forum.pjrc.com
6 | - **This way to the WIKI: https://github.com/TeensyUser/doc/wiki**
7 |
--------------------------------------------------------------------------------
/examples/HID/Firmware/01-Sender/01-Sender.ino:
--------------------------------------------------------------------------------
1 | uint8_t report[64];
2 | void setup()
3 | {
4 | }
5 |
6 | void loop()
7 | {
8 | report[0] = millis()/100;
9 | usb_rawhid_send(report, 1000);
10 | delay(100);
11 | }
--------------------------------------------------------------------------------
/examples/HID/Firmware/02-Receiver/02-Receiver.ino:
--------------------------------------------------------------------------------
1 | void setup()
2 | {
3 | }
4 |
5 | void loop()
6 | {
7 | char buf[64];
8 |
9 | if(usb_rawhid_recv(buf, 10) > 0)
10 | {
11 | Serial.println(buf);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/01_Receiver/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/02_Sender/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/01_Receiver/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/02_FreqGen/02_FreqGen.ino:
--------------------------------------------------------------------------------
1 | #include "FrequencyGenerator.h"
2 |
3 | FrequencyGenerator gen1(0);
4 |
5 | //----------------------------------------------
6 |
7 | void setup()
8 | {
9 | gen1.setFrequency(1'000);
10 | }
11 |
12 | void loop()
13 | {
14 | gen1.tick(); // update
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/03_Functors/03_Functors.ino:
--------------------------------------------------------------------------------
1 | #include "PulseGenerator.h"
2 | #include "SimpleTimer.h"
3 |
4 | SimpleTimer timer;
5 |
6 | void setup()
7 | {
8 | timer.begin(10'000, PulseGenerator(0,2000)); // use a functor as callback and call it every 10ms
9 | }
10 |
11 | void loop()
12 | {
13 | timer.tick();
14 | }
15 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/02_FreqGen/FrequencyGenerator.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "SimpleTimer.h"
3 |
4 | class FrequencyGenerator
5 | {
6 | public:
7 | FrequencyGenerator(unsigned pin);
8 | void setFrequency(float Hz);
9 |
10 | void tick() { timer.tick(); }
11 |
12 | protected:
13 | SimpleTimer timer;
14 | unsigned pin;
15 | void onTimer();
16 | };
--------------------------------------------------------------------------------
/examples/Better-Callbacks/TraditionalCallbacks/SimpleTimer.cpp:
--------------------------------------------------------------------------------
1 | #include "SimpleTimer.h"
2 |
3 | void SimpleTimer::begin(unsigned _period, callback_t _callback)
4 | {
5 | period = _period;
6 | callback = _callback;
7 | timer = 0;
8 | }
9 |
10 | void SimpleTimer::tick()
11 | {
12 | if (timer >= period)
13 | {
14 | timer -= period;
15 | callback();
16 | }
17 | }
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/02_Sender/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/TraditionalCallbacks/TraditionalCallbacks.ino:
--------------------------------------------------------------------------------
1 | #include "SimpleTimer.h"
2 |
3 | SimpleTimer timer;
4 |
5 | void onTimer() // callback Function
6 | {
7 | Serial.printf("Called at %d ms\n", millis());
8 | }
9 |
10 | //----------------------------------------------
11 |
12 | void setup()
13 | {
14 | timer.begin(100'000, onTimer);
15 | }
16 |
17 | void loop()
18 | {
19 | timer.tick(); // update
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/03_Functors/SimpleTimer.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Arduino.h"
3 |
4 | #include
5 |
6 | using callback_t = std::function;
7 |
8 | class SimpleTimer
9 | {
10 | public:
11 | void begin(unsigned period, callback_t callback);
12 | void tick(); // call this as often as possible
13 |
14 | protected:
15 | unsigned period;
16 | elapsedMicros timer;
17 | callback_t callback;
18 | };
19 |
20 |
--------------------------------------------------------------------------------
/examples/Serial/Software/SerialReceiver/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/02_FreqGen/SimpleTimer.cpp:
--------------------------------------------------------------------------------
1 | #include "SimpleTimer.h"
2 |
3 | void SimpleTimer::begin(unsigned _period, callback_t _callback)
4 | {
5 | period = _period;
6 | callback = _callback;
7 | timer = 0;
8 | }
9 |
10 | void SimpleTimer::tick()
11 | {
12 | if (timer >= period)
13 | {
14 | timer -= period;
15 | callback();
16 | }
17 | }
18 |
19 | void std::__throw_bad_function_call()
20 | {
21 | while (1) {} // do whatever you want to do instead of an exception
22 | }
--------------------------------------------------------------------------------
/examples/Better-Callbacks/03_Functors/SimpleTimer.cpp:
--------------------------------------------------------------------------------
1 | #include "SimpleTimer.h"
2 |
3 | void SimpleTimer::begin(unsigned _period, callback_t _callback)
4 | {
5 | period = _period;
6 | callback = _callback;
7 | timer = 0;
8 | }
9 |
10 | void SimpleTimer::tick()
11 | {
12 | if (timer >= period)
13 | {
14 | timer -= period;
15 | callback();
16 | }
17 | }
18 |
19 | void std::__throw_bad_function_call()
20 | {
21 | while (1) {} // do whatever you want to do instead of an exception
22 | }
--------------------------------------------------------------------------------
/examples/Better-Callbacks/TraditionalCallbacks/SimpleTimer.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Arduino.h"
3 |
4 | using callback_t = void (*)(void); // c++ way to define a function pointer (since c++11)
5 | //typedef void (*callback_t)(void); // traditional C typedef way works as well
6 |
7 | class SimpleTimer
8 | {
9 | public:
10 | void begin(unsigned period, callback_t callback);
11 | void tick(); // call this as often as possible
12 |
13 | protected:
14 | unsigned period;
15 | elapsedMicros timer;
16 | callback_t callback;
17 | };
--------------------------------------------------------------------------------
/examples/Better-Callbacks/02_FreqGen/FrequencyGenerator.cpp:
--------------------------------------------------------------------------------
1 | #include "FrequencyGenerator.h"
2 |
3 | FrequencyGenerator::FrequencyGenerator(unsigned _pin)
4 | {
5 | pin = _pin;
6 | pinMode(pin, OUTPUT);
7 | }
8 |
9 | void FrequencyGenerator::setFrequency(float frequency)
10 | {
11 | unsigned period = 0.5f * 1E6f / frequency;
12 | timer.begin(period, [this] { this->onTimer();}); // attach callback
13 | }
14 |
15 | void FrequencyGenerator::onTimer()
16 | {
17 | digitalWriteFast(pin, !digitalReadFast(pin));
18 | }
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/examples/Better-Callbacks/03_Functors/PulseGenerator.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Arduino.h"
4 |
5 | class PulseGenerator
6 | {
7 | public:
8 | PulseGenerator(unsigned _pin, unsigned _pulseLength)
9 | : pin(_pin), pulseLength(_pulseLength)
10 | {
11 | pinMode(pin, OUTPUT);
12 | }
13 |
14 | void operator()()
15 | {
16 | digitalWriteFast(pin, HIGH);
17 | delayMicroseconds(pulseLength);
18 | digitalWriteFast(pin, LOW);
19 | }
20 |
21 | protected:
22 | unsigned pin, pulseLength;
23 | };
--------------------------------------------------------------------------------
/examples/Better-Callbacks/02_FreqGen/SimpleTimer.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Arduino.h"
3 |
4 | #include
5 |
6 | using callback_t = std::function;
7 | //using callback_t = void (*)(void); // c++ way to define a function pointer (since c++11)
8 |
9 |
10 | class SimpleTimer
11 | {
12 | public:
13 | void begin(unsigned period, callback_t callback);
14 | void tick(); // call this as often as possible
15 |
16 | protected:
17 | unsigned period;
18 | elapsedMicros timer;
19 | callback_t callback;
20 | };
21 |
22 |
--------------------------------------------------------------------------------
/examples/Serial/Software/SerialReceiver/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/examples/Serial/Software/SerialReceiver/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO.Ports;
3 | using System.Linq;
4 | using TeensySharp;
5 |
6 | namespace SerialReceiver
7 | {
8 | class Program
9 | {
10 | static void Main(string[] args)
11 | {
12 | var watcher = new TeensyWatcher();
13 | var teensy = watcher.ConnectedDevices.FirstOrDefault(); // Use the first teensy we find on the Bus
14 |
15 | SerialPort port = new SerialPort(teensy.Port,115200); // open a serial port for the teensy
16 | port.Open();
17 |
18 | while(!Console.KeyAvailable)
19 | {
20 | Console.WriteLine(port.ReadLine());
21 | }
22 |
23 | port.Close();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/01_Receiver/Program.cs:
--------------------------------------------------------------------------------
1 | using HidLibrary;
2 | using System;
3 | using System.Linq;
4 |
5 | namespace receiver
6 | {
7 | class Program
8 | {
9 | static void Main(string[] args)
10 | {
11 | var teensy = HidDevices.Enumerate(0x16C0, 0x0486) // 0x486 = Raw HID
12 | .Where(d => d.Capabilities.Usage == 512) // usage 512 -> RawHID, the other one is SerEMU
13 | .FirstOrDefault(); // take the first one we find on the USB bus
14 |
15 | while (teensy != null)
16 | {
17 | var report = teensy.ReadReport(); // request a report from the teensy
18 | Console.WriteLine(report.Data[0]); // and write the first byte on the console
19 | }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/examples/GPIO/gpio/gpio.ino:
--------------------------------------------------------------------------------
1 | #include "Arduino.h"
2 | void printDigitalVal(int pin, int val); // forward declare for standard c++ build systems
3 |
4 | constexpr int inputPin = 0;
5 |
6 | void setup()
7 | {
8 | while (!Serial && millis() < 1000) {}
9 |
10 | pinMode(LED_BUILTIN, OUTPUT);
11 |
12 | pinMode(inputPin, INPUT_PULLUP);
13 | Serial.println("Using INPUT_PULLUP:");
14 | printDigitalVal(inputPin, digitalReadFast(inputPin));
15 |
16 | pinMode(inputPin, INPUT_PULLDOWN);
17 | Serial.println("\nUsing INPUT_PULLDOWN:");
18 | printDigitalVal(inputPin, digitalReadFast(inputPin));
19 | }
20 |
21 | void loop()
22 | {
23 | digitalWriteFast(LED_BUILTIN, !digitalReadFast(LED_BUILTIN)); // toggle pin
24 | delay(150);
25 | }
26 |
27 | // Helpers ----------------------------------------------------------
28 |
29 | void printDigitalVal(int pin, int val)
30 | {
31 | Serial.printf("Pin %d value: %s\n", pin, val == 0 ? "LOW" : "HIGH");
32 | }
33 |
--------------------------------------------------------------------------------
/examples/Serial/Software/Serial.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29519.181
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerialReceiver", "SerialReceiver\SerialReceiver.csproj", "{599650D3-B38D-4497-84BA-5C6B92C1DBDC}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {599650D3-B38D-4497-84BA-5C6B92C1DBDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {599650D3-B38D-4497-84BA-5C6B92C1DBDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {599650D3-B38D-4497-84BA-5C6B92C1DBDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {599650D3-B38D-4497-84BA-5C6B92C1DBDC}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {DDB194F4-784D-41F4-ABE0-A40B6A2D2981}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/examples/GPIO/pinList/pin.h:
--------------------------------------------------------------------------------
1 | #include "core_pins.h"
2 |
3 | class Pin
4 | {
5 | public:
6 | inline Pin(unsigned pin, unsigned Mode = INPUT);
7 | unsigned getPinNr() const { return pinNr; }
8 | unsigned getBitNr() const { return bitNr; }
9 | unsigned getGpioNr() const { return gpioNr; }
10 |
11 | protected:
12 | const unsigned pinNr;
13 | const uintptr_t pinCfg;
14 | const unsigned gpioNr;
15 | const unsigned bitNr;
16 | };
17 |
18 | #if defined(KINETISK) || defined(KINETISL)
19 | Pin::Pin(unsigned pin, unsigned mode)
20 | : pinNr(pin),
21 | pinCfg((uintptr_t)digital_pin_to_info_PGM[pin].config), // address of pin config register
22 | gpioNr((pinCfg - (uintptr_t)&PORTA_PCR0) / 0x1000), // cfg base addresses are 4kB aligned staring with PORTA_PCR0
23 | bitNr((pinCfg & 0xFFF) / 4) // each bit has to 4 consecutive 32bit cfg registers
24 | {
25 | pinMode(pinNr, mode);
26 | }
27 |
28 | #elif defined(ARDUINO_TEENSY40) || defined (ARDUINO_TEENSY41) || defined (ARDUINO_TEENSY_MICROMOD)
29 |
30 | Pin::Pin(unsigned pin, unsigned mode)
31 | : pinNr(pin),
32 | pinCfg((uintptr_t)digital_pin_to_info_PGM[pinNr].reg), // address of pin config register
33 | gpioNr((pinCfg - (uintptr_t)&IMXRT_GPIO6) / 0x4000 + 6), // cfg base addresses are 4kB aligned staring with PORTA_PCR0
34 | bitNr(__builtin_ffs(digital_pin_to_info_PGM[pinNr].mask) - 1) // each bit has to 4 consecutive 32bit cfg registers
35 | {
36 | pinMode(pinNr, mode);
37 | }
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/02_Sender/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("02_Sender")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("02_Sender")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("83435a80-a43a-4e93-b9d7-5a7b034afb81")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/01_Receiver/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("ConsoleApp1")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("ConsoleApp1")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("9f708f2b-17c8-47a3-bd8d-e77e0bfbe9e6")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/examples/Serial/Software/SerialReceiver/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SerialReceiver")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SerialReceiver")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("599650d3-b38d-4497-84ba-5c6b92c1dbdc")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/02_Sender/Program.cs:
--------------------------------------------------------------------------------
1 | using HidLibrary;
2 | using System;
3 | using System.Json;
4 | using System.Linq;
5 | using System.Net;
6 |
7 | namespace hid
8 | {
9 | class Program
10 | {
11 | static void Main(string[] args)
12 | {
13 | var teensy = HidDevices.Enumerate(0x16C0, 0x0486).Where(d => d.Capabilities.Usage == 512).FirstOrDefault();
14 | if (teensy == null || !teensy.IsConnected) return;
15 |
16 | for(int loops = 0; loops< 10; loops++) // don't read too much data from the web page...
17 | {
18 | String slip = new WebClient().DownloadString(@"https://api.adviceslip.com/advice"); // read a slip from adviceslip.com
19 | String advice = JsonValue.Parse(slip)["slip"]["advice"]; // extract the advice from the json result
20 |
21 | HidReport report = teensy.CreateReport(); // Generate an empty report
22 | for(int i = 0; i< advice.Take(63).Count(); i++ ) // and copy the characters into it.
23 | { // limit to 63 bytes to ensure the report always has a EOS (\0) at the end
24 | report.Data[i] = (byte) advice[i];
25 | }
26 |
27 | teensy.WriteReport(report); // send report to teensy
28 | Console.WriteLine(advice); // echo on console
29 | }
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/examples/GPIO/pinList/pinList.ino:
--------------------------------------------------------------------------------
1 | //#include "Arduino.h"
2 | #include
3 | #include "pin.h"
4 |
5 | void setup()
6 | {
7 | while (!Serial && millis() < 1000){}
8 |
9 | Pin *pins1[CORE_NUM_DIGITAL];
10 | Pin *pins2[CORE_NUM_DIGITAL];
11 |
12 | for (unsigned pinNr = 0; pinNr < CORE_NUM_DIGITAL; pinNr++)
13 | {
14 | Pin *p = new Pin(pinNr);
15 | pins1[pinNr] = p;
16 | pins2[pinNr] = p;
17 | }
18 |
19 | std::sort(pins1, pins1 + CORE_NUM_DIGITAL, [](Pin *a, Pin *b) // Sort pins1 by pin
20 | {
21 | return a->getPinNr() < b->getPinNr();
22 | });
23 | std::sort(pins2, pins2 + CORE_NUM_DIGITAL, [](Pin *a, Pin *b) // Sort pins2 by GPIO and Bit
24 | {
25 | if (a->getGpioNr() < b->getGpioNr()) return true;
26 | if (a->getGpioNr() > b->getGpioNr()) return false;
27 | if (a->getBitNr() < b->getBitNr()) return true;
28 | return false;
29 | });
30 |
31 | // Print results in two columns--------------------------
32 |
33 | Serial.println("PIN GPIOn-BITm | GPIOn-BITm PIN");
34 | Serial.println("------------------|-------------------");
35 | for (unsigned i = 0; i < CORE_NUM_DIGITAL; i++)
36 | {
37 | unsigned pin1 = pins1[i]->getPinNr();
38 | unsigned pin2 = pins2[i]->getPinNr();
39 | unsigned gpio1 = pins1[i]->getGpioNr();
40 | unsigned gpio2 = pins2[i]->getGpioNr();
41 | unsigned bit1 = pins1[i]->getBitNr();
42 | unsigned bit2 = pins2[i]->getBitNr();
43 | Serial.printf("%02d -> GPIO%u-%02u | GPIO%u-%02u -> %02d\n", pin1, gpio1, bit1, gpio2, bit2, pin2);
44 | }
45 | }
46 |
47 | void loop()
48 | {
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/HID_Tester.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29505.145
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "02_Sender", "02_Sender\02_Sender.csproj", "{83435A80-A43A-4E93-B9D7-5A7B034AFB81}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "01_Receiver", "01_Receiver\01_Receiver.csproj", "{9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Release|Any CPU = Release|Any CPU
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {83435A80-A43A-4E93-B9D7-5A7B034AFB81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {83435A80-A43A-4E93-B9D7-5A7B034AFB81}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {83435A80-A43A-4E93-B9D7-5A7B034AFB81}.Release|Any CPU.ActiveCfg = Release|Any CPU
19 | {83435A80-A43A-4E93-B9D7-5A7B034AFB81}.Release|Any CPU.Build.0 = Release|Any CPU
20 | {9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}.Release|Any CPU.Build.0 = Release|Any CPU
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {D095F8BD-32E2-4ADB-9976-F14D4EEFE410}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/01_Receiver/01_Receiver.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {9F708F2B-17C8-47A3-BD8D-E77E0BFBE9E6}
8 | Exe
9 | ConsoleApp1
10 | ConsoleApp1
11 | v4.7.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 | ..\packages\hidlibrary.3.3.24\lib\net45\HidLibrary.dll
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | ..\packages\Theraot.Core.1.0.3\lib\NET45\Theraot.Core.dll
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/examples/HID/Software/HID_Tester/02_Sender/02_Sender.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {83435A80-A43A-4E93-B9D7-5A7B034AFB81}
8 | Exe
9 | _02_Sender
10 | 02_Sender
11 | v4.7.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 | ..\packages\hidlibrary.3.3.24\lib\net45\HidLibrary.dll
38 |
39 |
40 | ..\packages\Json.Net.1.0.18\lib\netstandard2.0\Json.Net.dll
41 |
42 |
43 |
44 |
45 | ..\packages\System.Json.4.7.0\lib\netstandard2.0\System.Json.dll
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | ..\packages\Theraot.Core.1.0.3\lib\NET45\Theraot.Core.dll
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/examples/Serial/Software/SerialReceiver/SerialReceiver.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {599650D3-B38D-4497-84BA-5C6B92C1DBDC}
8 | Exe
9 | SerialReceiver
10 | SerialReceiver
11 | v4.7
12 | 512
13 | true
14 | true
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 |
38 | ..\packages\morelinq.3.2.0\lib\net451\MoreLinq.dll
39 |
40 |
41 |
42 |
43 | ..\packages\System.IO.Ports.4.6.0\lib\net461\System.IO.Ports.dll
44 |
45 |
46 |
47 | ..\packages\System.ValueTuple.4.4.0\lib\net47\System.ValueTuple.dll
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | ..\packages\lunoptics.TeensySharp.2.0.0\lib\netstandard2.0\TeensySharp.dll
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/examples/HID/Software/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015/2017 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # Visual Studio 2017 auto generated files
33 | Generated\ Files/
34 |
35 | # MSTest test Results
36 | [Tt]est[Rr]esult*/
37 | [Bb]uild[Ll]og.*
38 |
39 | # NUNIT
40 | *.VisualState.xml
41 | TestResult.xml
42 |
43 | # Build Results of an ATL Project
44 | [Dd]ebugPS/
45 | [Rr]eleasePS/
46 | dlldata.c
47 |
48 | # Benchmark Results
49 | BenchmarkDotNet.Artifacts/
50 |
51 | # .NET Core
52 | project.lock.json
53 | project.fragment.lock.json
54 | artifacts/
55 |
56 | # StyleCop
57 | StyleCopReport.xml
58 |
59 | # Files built by Visual Studio
60 | *_i.c
61 | *_p.c
62 | *_h.h
63 | *.ilk
64 | *.meta
65 | *.obj
66 | *.iobj
67 | *.pch
68 | *.pdb
69 | *.ipdb
70 | *.pgc
71 | *.pgd
72 | *.rsp
73 | *.sbr
74 | *.tlb
75 | *.tli
76 | *.tlh
77 | *.tmp
78 | *.tmp_proj
79 | *.log
80 | *.vspscc
81 | *.vssscc
82 | .builds
83 | *.pidb
84 | *.svclog
85 | *.scc
86 |
87 | # Chutzpah Test files
88 | _Chutzpah*
89 |
90 | # Visual C++ cache files
91 | ipch/
92 | *.aps
93 | *.ncb
94 | *.opendb
95 | *.opensdf
96 | *.sdf
97 | *.cachefile
98 | *.VC.db
99 | *.VC.VC.opendb
100 |
101 | # Visual Studio profiler
102 | *.psess
103 | *.vsp
104 | *.vspx
105 | *.sap
106 |
107 | # Visual Studio Trace Files
108 | *.e2e
109 |
110 | # TFS 2012 Local Workspace
111 | $tf/
112 |
113 | # Guidance Automation Toolkit
114 | *.gpState
115 |
116 | # ReSharper is a .NET coding add-in
117 | _ReSharper*/
118 | *.[Rr]e[Ss]harper
119 | *.DotSettings.user
120 |
121 | # JustCode is a .NET coding add-in
122 | .JustCode
123 |
124 | # TeamCity is a build add-in
125 | _TeamCity*
126 |
127 | # DotCover is a Code Coverage Tool
128 | *.dotCover
129 |
130 | # AxoCover is a Code Coverage Tool
131 | .axoCover/*
132 | !.axoCover/settings.json
133 |
134 | # Visual Studio code coverage results
135 | *.coverage
136 | *.coveragexml
137 |
138 | # NCrunch
139 | _NCrunch_*
140 | .*crunch*.local.xml
141 | nCrunchTemp_*
142 |
143 | # MightyMoose
144 | *.mm.*
145 | AutoTest.Net/
146 |
147 | # Web workbench (sass)
148 | .sass-cache/
149 |
150 | # Installshield output folder
151 | [Ee]xpress/
152 |
153 | # DocProject is a documentation generator add-in
154 | DocProject/buildhelp/
155 | DocProject/Help/*.HxT
156 | DocProject/Help/*.HxC
157 | DocProject/Help/*.hhc
158 | DocProject/Help/*.hhk
159 | DocProject/Help/*.hhp
160 | DocProject/Help/Html2
161 | DocProject/Help/html
162 |
163 | # Click-Once directory
164 | publish/
165 |
166 | # Publish Web Output
167 | *.[Pp]ublish.xml
168 | *.azurePubxml
169 | # Note: Comment the next line if you want to checkin your web deploy settings,
170 | # but database connection strings (with potential passwords) will be unencrypted
171 | *.pubxml
172 | *.publishproj
173 |
174 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
175 | # checkin your Azure Web App publish settings, but sensitive information contained
176 | # in these scripts will be unencrypted
177 | PublishScripts/
178 |
179 | # NuGet Packages
180 | *.nupkg
181 | # The packages folder can be ignored because of Package Restore
182 | **/[Pp]ackages/*
183 | # except build/, which is used as an MSBuild target.
184 | !**/[Pp]ackages/build/
185 | # Uncomment if necessary however generally it will be regenerated when needed
186 | #!**/[Pp]ackages/repositories.config
187 | # NuGet v3's project.json files produces more ignorable files
188 | *.nuget.props
189 | *.nuget.targets
190 |
191 | # Microsoft Azure Build Output
192 | csx/
193 | *.build.csdef
194 |
195 | # Microsoft Azure Emulator
196 | ecf/
197 | rcf/
198 |
199 | # Windows Store app package directories and files
200 | AppPackages/
201 | BundleArtifacts/
202 | Package.StoreAssociation.xml
203 | _pkginfo.txt
204 | *.appx
205 |
206 | # Visual Studio cache files
207 | # files ending in .cache can be ignored
208 | *.[Cc]ache
209 | # but keep track of directories ending in .cache
210 | !*.[Cc]ache/
211 |
212 | # Others
213 | ClientBin/
214 | ~$*
215 | *~
216 | *.dbmdl
217 | *.dbproj.schemaview
218 | *.jfm
219 | *.pfx
220 | *.publishsettings
221 | orleans.codegen.cs
222 |
223 | # Including strong name files can present a security risk
224 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
225 | #*.snk
226 |
227 | # Since there are multiple workflows, uncomment next line to ignore bower_components
228 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
229 | #bower_components/
230 |
231 | # RIA/Silverlight projects
232 | Generated_Code/
233 |
234 | # Backup & report files from converting an old project file
235 | # to a newer Visual Studio version. Backup files are not needed,
236 | # because we have git ;-)
237 | _UpgradeReport_Files/
238 | Backup*/
239 | UpgradeLog*.XML
240 | UpgradeLog*.htm
241 | ServiceFabricBackup/
242 | *.rptproj.bak
243 |
244 | # SQL Server files
245 | *.mdf
246 | *.ldf
247 | *.ndf
248 |
249 | # Business Intelligence projects
250 | *.rdl.data
251 | *.bim.layout
252 | *.bim_*.settings
253 | *.rptproj.rsuser
254 |
255 | # Microsoft Fakes
256 | FakesAssemblies/
257 |
258 | # GhostDoc plugin setting file
259 | *.GhostDoc.xml
260 |
261 | # Node.js Tools for Visual Studio
262 | .ntvs_analysis.dat
263 | node_modules/
264 |
265 | # Visual Studio 6 build log
266 | *.plg
267 |
268 | # Visual Studio 6 workspace options file
269 | *.opt
270 |
271 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
272 | *.vbw
273 |
274 | # Visual Studio LightSwitch build output
275 | **/*.HTMLClient/GeneratedArtifacts
276 | **/*.DesktopClient/GeneratedArtifacts
277 | **/*.DesktopClient/ModelManifest.xml
278 | **/*.Server/GeneratedArtifacts
279 | **/*.Server/ModelManifest.xml
280 | _Pvt_Extensions
281 |
282 | # Paket dependency manager
283 | .paket/paket.exe
284 | paket-files/
285 |
286 | # FAKE - F# Make
287 | .fake/
288 |
289 | # JetBrains Rider
290 | .idea/
291 | *.sln.iml
292 |
293 | # CodeRush
294 | .cr/
295 |
296 | # Python Tools for Visual Studio (PTVS)
297 | __pycache__/
298 | *.pyc
299 |
300 | # Cake - Uncomment if you are using it
301 | # tools/**
302 | # !tools/packages.config
303 |
304 | # Tabs Studio
305 | *.tss
306 |
307 | # Telerik's JustMock configuration file
308 | *.jmconfig
309 |
310 | # BizTalk build output
311 | *.btp.cs
312 | *.btm.cs
313 | *.odx.cs
314 | *.xsd.cs
315 |
316 | # OpenCover UI analysis results
317 | OpenCover/
318 |
319 | # Azure Stream Analytics local run output
320 | ASALocalRun/
321 |
322 | # MSBuild Binary and Structured Log
323 | *.binlog
324 |
325 | # NVidia Nsight GPU debugger configuration file
326 | *.nvuser
327 |
328 | # MFractors (Xamarin productivity tool) working folder
329 | .mfractor/
330 |
331 | # Local History for Visual Studio
332 | .localhistory/
--------------------------------------------------------------------------------
/examples/Serial/Software/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015/2017 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # Visual Studio 2017 auto generated files
33 | Generated\ Files/
34 |
35 | # MSTest test Results
36 | [Tt]est[Rr]esult*/
37 | [Bb]uild[Ll]og.*
38 |
39 | # NUNIT
40 | *.VisualState.xml
41 | TestResult.xml
42 |
43 | # Build Results of an ATL Project
44 | [Dd]ebugPS/
45 | [Rr]eleasePS/
46 | dlldata.c
47 |
48 | # Benchmark Results
49 | BenchmarkDotNet.Artifacts/
50 |
51 | # .NET Core
52 | project.lock.json
53 | project.fragment.lock.json
54 | artifacts/
55 |
56 | # StyleCop
57 | StyleCopReport.xml
58 |
59 | # Files built by Visual Studio
60 | *_i.c
61 | *_p.c
62 | *_h.h
63 | *.ilk
64 | *.meta
65 | *.obj
66 | *.iobj
67 | *.pch
68 | *.pdb
69 | *.ipdb
70 | *.pgc
71 | *.pgd
72 | *.rsp
73 | *.sbr
74 | *.tlb
75 | *.tli
76 | *.tlh
77 | *.tmp
78 | *.tmp_proj
79 | *.log
80 | *.vspscc
81 | *.vssscc
82 | .builds
83 | *.pidb
84 | *.svclog
85 | *.scc
86 |
87 | # Chutzpah Test files
88 | _Chutzpah*
89 |
90 | # Visual C++ cache files
91 | ipch/
92 | *.aps
93 | *.ncb
94 | *.opendb
95 | *.opensdf
96 | *.sdf
97 | *.cachefile
98 | *.VC.db
99 | *.VC.VC.opendb
100 |
101 | # Visual Studio profiler
102 | *.psess
103 | *.vsp
104 | *.vspx
105 | *.sap
106 |
107 | # Visual Studio Trace Files
108 | *.e2e
109 |
110 | # TFS 2012 Local Workspace
111 | $tf/
112 |
113 | # Guidance Automation Toolkit
114 | *.gpState
115 |
116 | # ReSharper is a .NET coding add-in
117 | _ReSharper*/
118 | *.[Rr]e[Ss]harper
119 | *.DotSettings.user
120 |
121 | # JustCode is a .NET coding add-in
122 | .JustCode
123 |
124 | # TeamCity is a build add-in
125 | _TeamCity*
126 |
127 | # DotCover is a Code Coverage Tool
128 | *.dotCover
129 |
130 | # AxoCover is a Code Coverage Tool
131 | .axoCover/*
132 | !.axoCover/settings.json
133 |
134 | # Visual Studio code coverage results
135 | *.coverage
136 | *.coveragexml
137 |
138 | # NCrunch
139 | _NCrunch_*
140 | .*crunch*.local.xml
141 | nCrunchTemp_*
142 |
143 | # MightyMoose
144 | *.mm.*
145 | AutoTest.Net/
146 |
147 | # Web workbench (sass)
148 | .sass-cache/
149 |
150 | # Installshield output folder
151 | [Ee]xpress/
152 |
153 | # DocProject is a documentation generator add-in
154 | DocProject/buildhelp/
155 | DocProject/Help/*.HxT
156 | DocProject/Help/*.HxC
157 | DocProject/Help/*.hhc
158 | DocProject/Help/*.hhk
159 | DocProject/Help/*.hhp
160 | DocProject/Help/Html2
161 | DocProject/Help/html
162 |
163 | # Click-Once directory
164 | publish/
165 |
166 | # Publish Web Output
167 | *.[Pp]ublish.xml
168 | *.azurePubxml
169 | # Note: Comment the next line if you want to checkin your web deploy settings,
170 | # but database connection strings (with potential passwords) will be unencrypted
171 | *.pubxml
172 | *.publishproj
173 |
174 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
175 | # checkin your Azure Web App publish settings, but sensitive information contained
176 | # in these scripts will be unencrypted
177 | PublishScripts/
178 |
179 | # NuGet Packages
180 | *.nupkg
181 | # The packages folder can be ignored because of Package Restore
182 | **/[Pp]ackages/*
183 | # except build/, which is used as an MSBuild target.
184 | !**/[Pp]ackages/build/
185 | # Uncomment if necessary however generally it will be regenerated when needed
186 | #!**/[Pp]ackages/repositories.config
187 | # NuGet v3's project.json files produces more ignorable files
188 | *.nuget.props
189 | *.nuget.targets
190 |
191 | # Microsoft Azure Build Output
192 | csx/
193 | *.build.csdef
194 |
195 | # Microsoft Azure Emulator
196 | ecf/
197 | rcf/
198 |
199 | # Windows Store app package directories and files
200 | AppPackages/
201 | BundleArtifacts/
202 | Package.StoreAssociation.xml
203 | _pkginfo.txt
204 | *.appx
205 |
206 | # Visual Studio cache files
207 | # files ending in .cache can be ignored
208 | *.[Cc]ache
209 | # but keep track of directories ending in .cache
210 | !*.[Cc]ache/
211 |
212 | # Others
213 | ClientBin/
214 | ~$*
215 | *~
216 | *.dbmdl
217 | *.dbproj.schemaview
218 | *.jfm
219 | *.pfx
220 | *.publishsettings
221 | orleans.codegen.cs
222 |
223 | # Including strong name files can present a security risk
224 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
225 | #*.snk
226 |
227 | # Since there are multiple workflows, uncomment next line to ignore bower_components
228 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
229 | #bower_components/
230 |
231 | # RIA/Silverlight projects
232 | Generated_Code/
233 |
234 | # Backup & report files from converting an old project file
235 | # to a newer Visual Studio version. Backup files are not needed,
236 | # because we have git ;-)
237 | _UpgradeReport_Files/
238 | Backup*/
239 | UpgradeLog*.XML
240 | UpgradeLog*.htm
241 | ServiceFabricBackup/
242 | *.rptproj.bak
243 |
244 | # SQL Server files
245 | *.mdf
246 | *.ldf
247 | *.ndf
248 |
249 | # Business Intelligence projects
250 | *.rdl.data
251 | *.bim.layout
252 | *.bim_*.settings
253 | *.rptproj.rsuser
254 |
255 | # Microsoft Fakes
256 | FakesAssemblies/
257 |
258 | # GhostDoc plugin setting file
259 | *.GhostDoc.xml
260 |
261 | # Node.js Tools for Visual Studio
262 | .ntvs_analysis.dat
263 | node_modules/
264 |
265 | # Visual Studio 6 build log
266 | *.plg
267 |
268 | # Visual Studio 6 workspace options file
269 | *.opt
270 |
271 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
272 | *.vbw
273 |
274 | # Visual Studio LightSwitch build output
275 | **/*.HTMLClient/GeneratedArtifacts
276 | **/*.DesktopClient/GeneratedArtifacts
277 | **/*.DesktopClient/ModelManifest.xml
278 | **/*.Server/GeneratedArtifacts
279 | **/*.Server/ModelManifest.xml
280 | _Pvt_Extensions
281 |
282 | # Paket dependency manager
283 | .paket/paket.exe
284 | paket-files/
285 |
286 | # FAKE - F# Make
287 | .fake/
288 |
289 | # JetBrains Rider
290 | .idea/
291 | *.sln.iml
292 |
293 | # CodeRush
294 | .cr/
295 |
296 | # Python Tools for Visual Studio (PTVS)
297 | __pycache__/
298 | *.pyc
299 |
300 | # Cake - Uncomment if you are using it
301 | # tools/**
302 | # !tools/packages.config
303 |
304 | # Tabs Studio
305 | *.tss
306 |
307 | # Telerik's JustMock configuration file
308 | *.jmconfig
309 |
310 | # BizTalk build output
311 | *.btp.cs
312 | *.btm.cs
313 | *.odx.cs
314 | *.xsd.cs
315 |
316 | # OpenCover UI analysis results
317 | OpenCover/
318 |
319 | # Azure Stream Analytics local run output
320 | ASALocalRun/
321 |
322 | # MSBuild Binary and Structured Log
323 | *.binlog
324 |
325 | # NVidia Nsight GPU debugger configuration file
326 | *.nvuser
327 |
328 | # MFractors (Xamarin productivity tool) working folder
329 | .mfractor/
330 |
331 | # Local History for Visual Studio
332 | .localhistory/
--------------------------------------------------------------------------------