clear unnecessary files
clock now roughly works (no Timezone support) also setting led brightness via encoder works (every 2nd step works, overflow at FF)master
parent
63fe6ab10a
commit
041cd5e422
@ -1,7 +0,0 @@
|
||||
#ifndef _ADC_H
|
||||
#define _ADC_H
|
||||
|
||||
void adc_setup(void);
|
||||
int adc_read(unsigned char adc_pin);
|
||||
|
||||
#endif
|
||||
@ -1,18 +0,0 @@
|
||||
#ifndef _PRINT_H
|
||||
#define _PRINT_H
|
||||
|
||||
extern const unsigned char character_Font[26];
|
||||
extern const unsigned char number_Font[10];
|
||||
|
||||
extern unsigned char SR_Buffer[];
|
||||
|
||||
void clear_SR_Buffer(void);
|
||||
void print_SR_Buffer(void);
|
||||
void add_Decimal_Point_to_SR_Buffer(int pos);
|
||||
void add_Character_to_SR_Buffer(unsigned char character, int pos);
|
||||
void add_Number_to_SR_Buffer(int number, int pos);
|
||||
void print_String(char* string);
|
||||
void add_ASCII_to_SR_Buffer(unsigned char, int pos);
|
||||
|
||||
|
||||
#endif
|
||||
@ -1,25 +0,0 @@
|
||||
#include "adc.h"
|
||||
#include "pinout.h"
|
||||
#include <avr/io.h>
|
||||
|
||||
void adc_setup(void){
|
||||
ADMUX = (1 << REFS0); //Versorgungsspannung definieren
|
||||
ADCSRA|= (1 << ADEN) //enable bit für adc
|
||||
| (1 << ADPS0) //setze Prescaler für Abtastfrequenz
|
||||
| (1 << ADPS1) //setze Prescaler für Abtastfrequenz
|
||||
| (0 << ADPS2); //setze Prescaler für Abtastfrequenz
|
||||
}
|
||||
|
||||
|
||||
|
||||
int adc_read(unsigned char adc_pin) {
|
||||
ADMUX &= 0b11110000; //Alte Port-Select Flags löschen
|
||||
ADMUX|=adc_pin; //Neuen Eingang setzen
|
||||
ADCSRA |= (1 << ADSC); // eine Wandlung "single conversion"
|
||||
while (ADCSRA & (1 << ADSC) ) { // auf Abschluss der Konvertierung warten
|
||||
}
|
||||
int ADCresult = ADCL;
|
||||
ADCresult += (ADCH << 8);
|
||||
return ADCresult;
|
||||
}
|
||||
|
||||
@ -1,124 +0,0 @@
|
||||
#include "pinout.h"
|
||||
#include "print.h"
|
||||
#include <stdlib.h>
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
const unsigned char number_Font[10] = { 0b11011110, //0
|
||||
0b00000110, //1
|
||||
0b11101010, //2
|
||||
0b01101110, //3
|
||||
0b00110110, //4
|
||||
0b01111100, //5
|
||||
0b11111100, //6
|
||||
0b00001110, //7
|
||||
0b11111110, //8
|
||||
0b01111110 //9
|
||||
};
|
||||
const unsigned char character_Font[26] = {0b10111110, //A
|
||||
0b11110100, //b
|
||||
0b11100000, //c
|
||||
0b11100110, //d
|
||||
0b11111000, //e
|
||||
0b10111000, //F
|
||||
0b11011100, //G
|
||||
0b10110100, //h
|
||||
0b00000100, //i
|
||||
0b01000110, //J
|
||||
0b10111100, //K
|
||||
0b11010000, //L
|
||||
0b10011110, //M
|
||||
0b10100100, //n
|
||||
0b11100100, //o
|
||||
0b10111010, //P
|
||||
0b00111110, //q
|
||||
0b10100000, //r
|
||||
0b01111100, //S
|
||||
0b11110000, //t
|
||||
0b11000100, //u
|
||||
0b11000100, //v
|
||||
0b11010110, //W
|
||||
0b10110110, //X
|
||||
0b01110110, //Y
|
||||
0b11100110 //Z
|
||||
};
|
||||
const unsigned char blank = 0b00000000; //zeigt nichts an
|
||||
const unsigned char minus = 0b00100000; //zeigt '-' an
|
||||
const unsigned char dot = 0b00000001; //aktiviert Dezimalpunkt
|
||||
unsigned char SR_Buffer[6] = {0b11100110,
|
||||
0b11100110,
|
||||
0b11100110,
|
||||
0b11100110,
|
||||
0b11100110,
|
||||
0b11100110};
|
||||
|
||||
|
||||
|
||||
void clear_SR_Buffer() {
|
||||
for (uint8_t i = 0; i < 6; i++) {
|
||||
SR_Buffer[i] = blank;
|
||||
}
|
||||
}
|
||||
|
||||
void add_Decimal_Point_to_SR_Buffer(int pos){
|
||||
SR_Buffer[pos-1] += dot;
|
||||
}
|
||||
|
||||
void print_SR_Buffer() {
|
||||
PORTC &= ~(LATCH_SR);
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
SPDR = SR_Buffer[i];
|
||||
//SPDR = 0b11100110;
|
||||
//_delay_us(100);
|
||||
while (!(SPSR & (1 << SPIF))); //warten auf transferabschluss
|
||||
}
|
||||
PORTC |= LATCH_SR;
|
||||
//_delay_ms(1);
|
||||
//PORTC &= ~(LATCH_SR);
|
||||
}
|
||||
|
||||
void print_String(char* string){
|
||||
for(int i = 0; i < 6; i++){
|
||||
add_ASCII_to_SR_Buffer(string[i],i);
|
||||
}
|
||||
print_SR_Buffer();
|
||||
}
|
||||
|
||||
|
||||
void add_ASCII_to_SR_Buffer(unsigned char character, int pos) {
|
||||
int ascii_offset = 0;
|
||||
|
||||
if((character > 46) && (character < 57)){ //Char ist Zahl
|
||||
ascii_offset = 48;
|
||||
SR_Buffer[pos] = number_Font[character - ascii_offset]; //Zieht ASCII-Offset ab, sodass Zahl mit Font Index übereinstimmen
|
||||
}else if (character > 95 && character < 122) { //Buchstabe ist kleiner Buchstabe
|
||||
ascii_offset = 97;
|
||||
SR_Buffer[pos] = character_Font[character - ascii_offset]; //Zieht ASCII-Offset ab, sodass Buchstaben mit Font Index übereinstimmen
|
||||
} else if (character > 64 && character < 91){ //Buchstabe groß Buchstabe
|
||||
ascii_offset = 65;
|
||||
SR_Buffer[pos] = character_Font[character - ascii_offset]; //Zieht ASCII-Offset ab, sodass Buchstaben mit Font Index übereinstimmen
|
||||
} else if (character == 32){ //Charakter ist Blank ' '
|
||||
SR_Buffer[pos] = blank;
|
||||
} else if (character == 45){ //Charakter ist Minus -
|
||||
SR_Buffer[pos] = minus;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void add_Character_to_SR_Buffer(unsigned char character, int pos) {
|
||||
int ascii_offset = 0;
|
||||
|
||||
if (character > 96 && character < 122) { //Buchstabe ist kleiner Buchstabe
|
||||
ascii_offset = 97;
|
||||
SR_Buffer[pos] = character_Font[character - ascii_offset]; //Zieht ASCII-Offset ab, sodass Buchstaben mit Font Index übereinstimmen
|
||||
} else if (character > 65 && character < 91){ //Buchstabe groß Buchstabe
|
||||
ascii_offset = 65;
|
||||
SR_Buffer[pos] = character_Font[character - ascii_offset]; //Zieht ASCII-Offset ab, sodass Buchstaben mit Font Index übereinstimmen
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void add_Number_to_SR_Buffer(int number, int pos) {
|
||||
SR_Buffer[pos-1] = number_Font[number];
|
||||
}
|
||||
Loading…
Reference in New Issue