1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2025-02-16 22:19:14 +01:00

Move timers names to pointers in main file

This commit is contained in:
David Cutting 2020-05-25 04:56:03 -06:00
parent a3a13967ec
commit c3fd15025e
3 changed files with 24 additions and 62 deletions

View File

@ -1,46 +0,0 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@ -8,14 +8,23 @@
; Please visit documentation for the other options and examples ; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html ; https://docs.platformio.org/page/projectconf.html
[env:samd21] [platformio]
platform = atmelsam default_envs = mega2560
board = sparkfun_samd21_dev_usb
framework = arduino [env]
lib_deps = lib_deps =
https://github.com/davidcutting42/CommandStation.git#master https://github.com/davidcutting42/CommandStation.git#master
https://github.com/davidcutting42/ArduinoTimers.git#master https://github.com/davidcutting42/ArduinoTimers.git#master
SparkFun External EEPROM Arduino Library SparkFun External EEPROM Arduino Library
DIO2
[env:samd21]
platform = atmelsam
board = sparkfun_samd21_dev_usb
framework = arduino
upload_protocol = atmel-ice
lib_deps =
${env.lib_deps}
build_flags = -D ATSAMD21G build_flags = -D ATSAMD21G
[env:mega2560] [env:mega2560]
@ -23,7 +32,5 @@ platform = atmelavr
board = megaatmega2560 board = megaatmega2560
framework = arduino framework = arduino
lib_deps = lib_deps =
https://github.com/davidcutting42/CommandStation.git#master ${env.lib_deps}
https://github.com/davidcutting42/ArduinoTimers.git#master
SparkFun External EEPROM Arduino Library
build_flags = -D ATMEGA2560 build_flags = -D ATMEGA2560

View File

@ -1,5 +1,6 @@
#include <Arduino.h> #include <Arduino.h>
#include <CommandStation.h> #include <CommandStation.h>
#include <ArduinoTimers.h>
DCC* mainTrack = DCC::Create_WSM_SAMCommandStation_Main(50); DCC* mainTrack = DCC::Create_WSM_SAMCommandStation_Main(50);
DCC* progTrack = DCC::Create_WSM_SAMCommandStation_Prog(2); DCC* progTrack = DCC::Create_WSM_SAMCommandStation_Prog(2);
@ -14,17 +15,17 @@ void prog_IrqHandler() {
void setup() { void setup() {
#if defined (ATSAMD21G) #if defined (ATSAMD21G)
CommManager::registerInterface(new SerialInterface(SerialUSB)); // Register SerialUSB as an interface CommManager::registerInterface(new USBInterface(SerialUSB)); // Register SerialUSB as an interface
TimerTCC0.initialize(); mainTrack->int_timer->initialize();
TimerTCC0.setPeriod(58); mainTrack->int_timer->setPeriod(58);
TimerTCC0.attachInterrupt(main_IrqHandler); mainTrack->int_timer->attachInterrupt(main_IrqHandler);
TimerTCC0.start(); mainTrack->int_timer->start();
TimerTCC1.initialize(); progTrack->int_timer->initialize();
TimerTCC1.setPeriod(58); progTrack->int_timer->setPeriod(58);
TimerTCC1.attachInterrupt(prog_IrqHandler); progTrack->int_timer->attachInterrupt(prog_IrqHandler);
TimerTCC1.start(); progTrack->int_timer->start();
#elif defined(ATMEGA2560) #elif defined(ATMEGA2560)
CommManager::registerInterface(new SerialInterface(Serial)); // Register Serial (USB port on mega/uno) as an interface CommManager::registerInterface(new SerialInterface(Serial)); // Register Serial (USB port on mega/uno) as an interface