mirror of
				https://github.com/digistump/DigistumpArduino.git
				synced 2025-11-03 21:14:46 -08:00 
			
		
		
		
	Initial import of support files for all Digistump boards - Digispark, Pro, DigiX - including libraries, examples, tools, and other support files for the Arduino IDE
This commit is contained in:
		@@ -0,0 +1,106 @@
 | 
			
		||||
#include <Arduino.h>/
 | 
			
		||||
#include <Wire.h>
 | 
			
		||||
#include <MicrOledPro.h>
 | 
			
		||||
 | 
			
		||||
//LCD_SH1106 lcd; /* for SH1106 OLED module */
 | 
			
		||||
LCD_SSD1306 lcd; /* for SSD1306 OLED module */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const PROGMEM uint8_t smile[48 * 48 / 8] = {
 | 
			
		||||
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0x7E, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF0, 0xC0, 0x00,
 | 
			
		||||
  0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1F, 0x1F, 0x1F, 0x3F, 0x1F, 0x1F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1F, 0x1F, 0x1F, 0x3F, 0x1F, 0x1F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
 | 
			
		||||
  0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x30, 0xF8, 0xF8, 0xF8, 0xF8, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xF8, 0xFC, 0xF8, 0x30, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F,
 | 
			
		||||
  0x00, 0x03, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE1, 0xC7, 0x87, 0x0F, 0x1F, 0x3F, 0x3F, 0x3E, 0x7E, 0x7C, 0x7C, 0x7C, 0x78, 0x78, 0x7C, 0x7C, 0x7C, 0x7E, 0x3E, 0x3F, 0x3F, 0x1F, 0x0F, 0x87, 0xC7, 0xE1, 0xF0, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x03, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0x7E, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const PROGMEM uint8_t tick[16 * 16 / 8] =
 | 
			
		||||
{0x00, 0x80, 0xC0, 0xE0, 0xC0, 0x80, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0x78, 0x30, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00};
 | 
			
		||||
 | 
			
		||||
const PROGMEM uint8_t cross[16 * 16 / 8] =
 | 
			
		||||
{0x00, 0x0C, 0x1C, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0xE0, 0xF0, 0x78, 0x3C, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, 0x07, 0x0F, 0x1E, 0x3C, 0x38, 0x30, 0x00, 0x00};
 | 
			
		||||
 | 
			
		||||
void setup()
 | 
			
		||||
{
 | 
			
		||||
  lcd.begin();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int wait = 340;
 | 
			
		||||
long lcount = 0;
 | 
			
		||||
void loop()
 | 
			
		||||
{
 | 
			
		||||
  if (wait < 400) wait += 70; else wait = 20;
 | 
			
		||||
  for ( int ii = 1; ii < 8; ii++) {
 | 
			
		||||
    lcd.clear();
 | 
			
		||||
    lcd.setCursor(5 + (ii * 8), 1);
 | 
			
		||||
    lcd.draw(smile, 48, 48);
 | 
			
		||||
    delay(wait/3);
 | 
			
		||||
  }
 | 
			
		||||
  delay(wait);
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(40, 1);
 | 
			
		||||
  lcd.draw(smile, 48, 48);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_SMALL);
 | 
			
		||||
  lcd.println("Hello, world!");
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_MEDIUM);
 | 
			
		||||
  lcd.println("Hello, world!");
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_MEDIUM);
 | 
			
		||||
  lcd.println("Hello, world!");
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_SMALL);
 | 
			
		||||
  lcd.println("Hello, world!ABC<>{}");
 | 
			
		||||
  delay(wait);
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  
 | 
			
		||||
  for ( int ii = 1; ii < 9; ii++) {
 | 
			
		||||
    lcd.printInt(ii);
 | 
			
		||||
    delay(wait / 10);
 | 
			
		||||
    lcd.println("_._.5._._0_._.5._._0");
 | 
			
		||||
    delay(wait / 4);
 | 
			
		||||
  }
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.setCursor(40, 6);
 | 
			
		||||
  lcd.draw(tick, 16, 16);
 | 
			
		||||
  lcd.setCursor(72, 6);
 | 
			
		||||
  lcd.draw(cross, 16, 16);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(0, 0);
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_SMALL);
 | 
			
		||||
  lcd.printLong(12345678);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(0, 0);
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_MEDIUM);
 | 
			
		||||
  lcd.printLong(12345678);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(0, 0);
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_LARGE);
 | 
			
		||||
  lcd.println("Count");
 | 
			
		||||
  lcd.printLong(++lcount);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(0, 0);
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_XLARGE);
 | 
			
		||||
  lcd.printLong(12345678);
 | 
			
		||||
  delay(wait);
 | 
			
		||||
 | 
			
		||||
  lcd.clear();
 | 
			
		||||
  lcd.setCursor(0, 0);
 | 
			
		||||
  lcd.setFontSize(FONT_SIZE_MEDIUM);
 | 
			
		||||
  lcd.println("WAIT");
 | 
			
		||||
  lcd.printInt(wait);
 | 
			
		||||
  lcd.println("Count");
 | 
			
		||||
  lcd.printLong(lcount);
 | 
			
		||||
  delay(100+wait);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user