├── 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/ --------------------------------------------------------------------------------