mirror of
https://github.com/digistump/DigistumpArduino.git
synced 2025-04-27 23:29:01 -07:00
Compare commits
43 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
111396ffe5 | ||
![]() |
d208cb7669 | ||
![]() |
684c36af77 | ||
![]() |
d457051fd4 | ||
![]() |
b9a79d8b2e | ||
![]() |
7841eb24ff | ||
![]() |
f402493d27 | ||
![]() |
41c25785db | ||
![]() |
2b684b9034 | ||
![]() |
280b22b652 | ||
![]() |
822a2e4f55 | ||
![]() |
2c40bcdd6f | ||
![]() |
af7c58d1e5 | ||
![]() |
ab01715320 | ||
![]() |
c16eb3cf70 | ||
![]() |
40be695f81 | ||
![]() |
fbd4d79324 | ||
![]() |
92260e2acd | ||
![]() |
badec8f822 | ||
![]() |
0d4830288d | ||
![]() |
3577e4a637 | ||
![]() |
eed2ff45ba | ||
![]() |
6844d32b06 | ||
![]() |
bd916e2eea | ||
![]() |
4a1f9c7ac5 | ||
![]() |
836e363726 | ||
![]() |
2de159b44d | ||
![]() |
7533853c57 | ||
![]() |
7d52a0cfb9 | ||
![]() |
60edebc52b | ||
![]() |
008b95382b | ||
![]() |
528559488d | ||
![]() |
487b621a89 | ||
![]() |
2f8eec51b4 | ||
![]() |
aeb7af566f | ||
![]() |
8810516130 | ||
![]() |
92c97e3b2b | ||
![]() |
4e2f6ffa1c | ||
![]() |
68ad726f9b | ||
![]() |
6ca6b114d5 | ||
![]() |
bc55c9bb45 | ||
![]() |
32573857c0 | ||
![]() |
df42601d87 |
32
README.md
32
README.md
@ -1,35 +1,23 @@
|
||||
DigistumpArduino
|
||||
================
|
||||
|
||||
Files to add Digistump support (Digispark, Pro, DigiX) to Arduino 1.5.X (1.5.7+)
|
||||
Files to add Digistump support (Digispark, Pro, DigiX) to Arduino 1.6.X (1.6.4+)
|
||||
|
||||
**These files are designed for install via the Arduino Boards Manager:**
|
||||
|
||||
**Binary downloads of the bundled IDE can be found here:** https://github.com/digistump/DigistumpArduino/releases/tag/v1.5.8B
|
||||
Board manager URL: http://digistump.com/package_digistump_index.json
|
||||
|
||||
**To manually install:**
|
||||
**Full Install Instructions:**
|
||||
|
||||
Place digistump folder inside the Arduino /hardware folder.
|
||||
Digispark: http://digistump.com/wiki/digispark/tutorials/connecting
|
||||
|
||||
Digispark Pro: http://digistump.com/wiki/digispark/tutorials/connectingpro
|
||||
|
||||
DigiX: http://digistump.com/wiki/digix/tutorials/software
|
||||
|
||||
**To compile:**
|
||||
|
||||
To compile tools for other platforms or from scratch use:
|
||||
|
||||
Arduino 1.5.X
|
||||
|
||||
This repo.
|
||||
Micronucleus is the only executable in these packages that is pre-compiled:
|
||||
|
||||
Micronucleus: https://github.com/micronucleus/micronucleus/tree/80419704f68bf0783c5de63a6a4b9d89b45235c7
|
||||
Dependencies: libusb and possibly lib32stdc on linux - (on ubuntu get it by issuing: apt-get install lib32stdc++6)
|
||||
|
||||
AVR-Dummy: https://github.com/digistump/avr-dummy
|
||||
|
||||
- Download the lastest Arduino 1.5.X branch binaries or source (and compile per their instructions if necessary)
|
||||
- Download this repo
|
||||
- Download the Micronucleus source linked above
|
||||
- Download the AVR-Dummy source above
|
||||
- Compile the micronucleus commandline tool (commandline directory) and avr-dummy ("make all" for both) - which will produce executables named micronucleus and avrdude
|
||||
- Copy the digistump folder from this repo into the hardware folder in your arduino directory.
|
||||
- Copy micronucleus and avrdude executables to the hard/digistump/avr/tools folder in the arduino directory
|
||||
- You're all set!
|
||||
|
||||
|
||||
|
@ -63,3 +63,45 @@ digispark-pro64.build.variant=pro64buffer
|
||||
digispark-pro64.upload.wait_for_upload_port = false
|
||||
digispark-pro64.upload.use_1200bps_touch = false
|
||||
digispark-pro64.upload.disable_flushing = false
|
||||
|
||||
digispark-tiny16.name=Digispark (16mhz - No USB)
|
||||
digispark-tiny16.upload.using=micronucleusprog
|
||||
digispark-tiny16.upload.protocol=usb
|
||||
digispark-tiny16.upload.tool=micronucleus
|
||||
digispark-tiny16.upload.maximum_size=6012
|
||||
digispark-tiny16.build.mcu=attiny85
|
||||
digispark-tiny16.build.f_cpu=16000000L
|
||||
digispark-tiny16.build.board=AVR_DIGISPARK
|
||||
digispark-tiny16.build.core=tiny
|
||||
digispark-tiny16.build.variant=digispark
|
||||
digispark-tiny16.upload.wait_for_upload_port = false
|
||||
digispark-tiny16.upload.use_1200bps_touch = false
|
||||
digispark-tiny16.upload.disable_flushing = false
|
||||
|
||||
digispark-tiny8.name=Digispark (8mhz - No USB)
|
||||
digispark-tiny8.upload.using=micronucleusprog
|
||||
digispark-tiny8.upload.protocol=usb
|
||||
digispark-tiny8.upload.tool=micronucleus
|
||||
digispark-tiny8.upload.maximum_size=6012
|
||||
digispark-tiny8.build.mcu=attiny85
|
||||
digispark-tiny8.build.f_cpu=8000000L
|
||||
digispark-tiny8.build.board=AVR_DIGISPARK
|
||||
digispark-tiny8.build.core=tiny
|
||||
digispark-tiny8.build.variant=digispark
|
||||
digispark-tiny8.upload.wait_for_upload_port = false
|
||||
digispark-tiny8.upload.use_1200bps_touch = false
|
||||
digispark-tiny8.upload.disable_flushing = false
|
||||
|
||||
digispark-tiny1.name=Digispark (1mhz - No USB)
|
||||
digispark-tiny1.upload.using=micronucleusprog
|
||||
digispark-tiny1.upload.protocol=usb
|
||||
digispark-tiny1.upload.tool=micronucleus
|
||||
digispark-tiny1.upload.maximum_size=6012
|
||||
digispark-tiny1.build.mcu=attiny85
|
||||
digispark-tiny1.build.f_cpu=1000000L
|
||||
digispark-tiny1.build.board=AVR_DIGISPARK
|
||||
digispark-tiny1.build.core=tiny
|
||||
digispark-tiny1.build.variant=digispark
|
||||
digispark-tiny1.upload.wait_for_upload_port = false
|
||||
digispark-tiny1.upload.use_1200bps_touch = false
|
||||
digispark-tiny1.upload.disable_flushing = false
|
@ -43,6 +43,7 @@ extern "C"{
|
||||
|
||||
#define INPUT 0x0
|
||||
#define OUTPUT 0x1
|
||||
#define INPUT_PULLUP 0x2
|
||||
|
||||
#define true 0x1
|
||||
#define false 0x0
|
@ -35,21 +35,28 @@ void pinMode(uint8_t pin, uint8_t mode)
|
||||
{
|
||||
uint8_t bit = digitalPinToBitMask(pin);
|
||||
uint8_t port = digitalPinToPort(pin);
|
||||
volatile uint8_t *reg;
|
||||
volatile uint8_t *reg, *out;
|
||||
|
||||
if (port == NOT_A_PIN) return;
|
||||
|
||||
// JWS: can I let the optimizer do this?
|
||||
reg = portModeRegister(port);
|
||||
out = portOutputRegister(port);
|
||||
|
||||
if (mode == INPUT) {
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
cli();
|
||||
*reg &= ~bit;
|
||||
SREG = oldSREG;
|
||||
} else if (mode == INPUT_PULLUP) {
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
*reg &= ~bit;
|
||||
*out |= bit;
|
||||
SREG = oldSREG;
|
||||
} else {
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
cli();
|
||||
*reg |= bit;
|
||||
SREG = oldSREG;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user