Commit 09f5388c authored by medlem's avatar medlem
Browse files

Finished task2 LF. Still in copy

parent 9a4c5ad3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -166,6 +166,12 @@
    <Compile Include="main.c">
      <SubType>compile</SubType>
    </Compile>
    <Compile Include="graphics.c">
      <SubType>compile</SubType>
    </Compile>
    <Compile Include="graphics.h">
      <SubType>compile</SubType>
    </Compile>
    <Compile Include="spi.c">
      <SubType>compile</SubType>
    </Compile>
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
#include <avr/io.h>

void adc_init(){
	ADC0.CTRLA |= (ADC_RESSEL_10BIT_gc); //Set resolution, we choose 8 bits
	ADC0.CTRLA |= (ADC_RESSEL_10BIT_gc); //Set resolution, we choose 10 bits
	
	ADC0.CTRLB |= (ADC_SAMPNUM_ACC4_gc); //OPTIONAL: We can use multiple samples if we like, example here with 4
		//More samples gives a better result but takes longer.
+0 −2
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@
 * Created: 27.02.2017 16:51:27
 *  Author: Petter
 */ 


#ifndef ADC_H_
#define ADC_H_

+3 −147
Original line number Diff line number Diff line
@@ -308,151 +308,7 @@ const unsigned char PROGMEM font4[95][4] = {
		{0b00001000,0b00000100,0b00001000,0b00000100}, // ~
		};
		
// Image - Game Over screen
const unsigned char PROGMEM game_over_img[1024] = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x0E, 0x0F, 0x03, 0x03, 0xF3, 0xF3,
	0xF3, 0xF3, 0xF3, 0x73, 0x73, 0x63, 0x63, 0x6F, 0x6E, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0x0F, 0x0F,
	0x03, 0x03, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0x03, 0x03, 0x0F, 0x0F, 0xFE, 0xFC, 0xFE, 0xFE,
	0xFF, 0x03, 0x03, 0x03, 0x03, 0xC7, 0x8E, 0x1C, 0x38, 0x1C, 0x8E, 0xC7, 0x03, 0x03, 0x03, 0x03,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73,
	0x73, 0xF3, 0xF3, 0xFF, 0xFF, 0xFE, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x38, 0x38, 0x70, 0x70, 0x77, 0x77,
	0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x78, 0x70, 0x70, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x70, 0x70,
	0x70, 0x70, 0x7C, 0x7C, 0x3C, 0x3C, 0x3C, 0x3C, 0x70, 0x70, 0x70, 0x70, 0x7F, 0x7F, 0x7F, 0x7F,
	0x7F, 0x70, 0x70, 0x70, 0x70, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x70, 0x70, 0x70, 0x70,
	0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
	0x77, 0x77, 0x77, 0x7F, 0x7F, 0x7F, 0x78, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x0C, 0x0C, 0x06, 0x06, 0xF6, 0xF6,
	0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x06, 0x06, 0x0E, 0x0C, 0xF8, 0xF8, 0xFC, 0xFE, 0xFE, 0x06, 0x06,
	0x06, 0x06, 0xFE, 0xFC, 0xF8, 0xF8, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xFE,
	0xFE, 0x06, 0x06, 0x06, 0x06, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0xF6, 0xF6,
	0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x06,
	0x06, 0x8E, 0x8E, 0xFC, 0xF8, 0xF8, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x30, 0x30, 0x60, 0xE0, 0xEF, 0xEF,
	0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xE0, 0xE0, 0xF0, 0xF0, 0xFF, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E,
	0x7C, 0xFC, 0xF0, 0xF1, 0xE3, 0xE3, 0xF1, 0xF1, 0xFC, 0xFC, 0xFE, 0xFF, 0x7F, 0x1F, 0x1F, 0x3F,
	0x3F, 0xE0, 0xE0, 0xE0, 0xE0, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0xE0,
	0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

};




// Image - Splash screen
const unsigned char PROGMEM pong_img[1024] ={
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C,
	0xFE, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x06, 0x02, 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,
	0x0C, 0x0C, 0x0C, 0x18, 0x78, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x40, 0x40, 0x60, 0x20,
	0x30, 0x38, 0x1C, 0x1E, 0x07, 0x07, 0x01, 0x00, 0xC0, 0xC0, 0xE0, 0x60, 0x30, 0x10, 0x18, 0x18,
	0x08, 0x08, 0x08, 0x08, 0x18, 0x10, 0x38, 0x70, 0xF0, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
	0x00, 0xF0, 0xF8, 0xF8, 0xF8, 0x40, 0x60, 0x30, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x38, 0x38,
	0x78, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x60, 0x30,
	0x30, 0x10, 0x10, 0x10, 0x10, 0x30, 0x30, 0x70, 0xF8, 0xF8, 0xF8, 0xB8, 0x38, 0x38, 0x18, 0x1C,
	0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFE, 0xDF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xEF, 0x00, 0x00, 0x00,
	0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x7F, 0xFF, 0xFF, 0xE0, 0xC0, 0x80,
	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0x60, 0x3F, 0x1F, 0x0F, 0x01, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
	0x7F, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x1F, 0x3F, 0x7E, 0x78, 0x70, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0,
	0xC0, 0xC0, 0x40, 0x40, 0x40, 0x60, 0x30, 0x30, 0x1C, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x7F, 0x7F, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x7F, 0x7F, 0x7F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF9, 0xFD, 0xCF, 0xC7,
	0x87, 0x87, 0x83, 0x81, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10,
	0x10, 0xF0, 0x10, 0x10, 0x10, 0x10, 0x00, 0xF8, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80,
	0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
	0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x40, 0x01, 0x01, 0x01, 0x01, 0x01,
	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x0F, 0xFF,
	0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x01, 0x00, 0x00, 0x01, 0x7F, 0x00, 0x00, 0x1E,
	0x3F, 0x65, 0x44, 0x44, 0x45, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x6D, 0x68, 0x68,
	0x6F, 0xC7, 0x00, 0x00, 0x79, 0x68, 0x4C, 0x44, 0x6D, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x01, 0x00,
	0x00, 0x7F, 0x7F, 0x01, 0x00, 0x01, 0x7F, 0x00, 0x00, 0x1E, 0x3F, 0x65, 0x44, 0x44, 0x45, 0x47,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1F, 0x3F, 0x7F, 0x70, 0x70, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0,
	0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x60, 0x60, 0x20, 0x30, 0x18, 0x18, 0x0C, 0x07,
	0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02,
	0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

};

#endif /* FONTS_H_ */
 No newline at end of file
+81 −0
Original line number Diff line number Diff line
#include "oled.h"
#include "graphics.h"

/* Draw the outline of the loading bar */
void graphics_loading_bar_init()
{
	oled_pos(1,12);
	oled_write_d(0xf8);
	oled_pos(2,12);
	oled_write_d(0x1f);
	oled_pos(1,115);
	oled_write_d(0xf8);
	oled_pos(2,115);
	oled_write_d(0x1f);
	for(uint8_t i=0;i<101;i++)
	{
		oled_pos(1,13+i);
		oled_write_d(0x08);
		oled_pos(2,13+i);
		oled_write_d(0x10);
	}
}

/* Set length of loading bar. Between 0 and 1023 */
void graphics_loading_bar_set(uint16_t data)
{
	if(data>1023){  //Highest data value
		data=1023;
	}
	data=data/10; //convert  data to percentages
	for(int i=0; i<data;i++){
		oled_pos(1,13+i);
		oled_write_d(0xf8);
		oled_pos(2,13+i);
		oled_write_d(0x1f);
	}
	for(int i=data; i<102;i++){
		oled_pos(1,13+i);
		oled_write_d(0x08);
		oled_pos(2,13+i);
		oled_write_d(0x10);
	}
}


/* Print bitmap to screen */
void graphics_print_bitmap(const uint8_t* bm)
{
	
	for(uint8_t y = 0; y < 4; y++)
	{
		for(uint8_t x = 0; x < 16; x++)
		{
			uint8_t d[8] = {
				pgm_read_byte(&(bm[(8 * y + 0) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 1) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 2) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 3) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 4) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 5) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 6) * 16 + x])),
				pgm_read_byte(&(bm[(8 * y + 7) * 16 + x]))
			};

			for(uint8_t b = 0; b < 8; b++)
			{
				uint8_t db = 0;
				db |= (((d[0] >> b) & 0x1) << 0);
				db |= (((d[1] >> b) & 0x1) << 1);
				db |= (((d[2] >> b) & 0x1) << 2);
				db |= (((d[3] >> b) & 0x1) << 3);
				db |= (((d[4] >> b) & 0x1) << 4);
				db |= (((d[5] >> b) & 0x1) << 5);
				db |= (((d[6] >> b) & 0x1) << 6);
				db |= (((d[7] >> b) & 0x1) << 7);

				oled_write_d(db);
			}
		}
	}
}
 No newline at end of file
Loading