diff --git a/Versionshistorie.odt b/Versionshistorie.odt new file mode 100644 index 0000000..f87b9ee Binary files /dev/null and b/Versionshistorie.odt differ diff --git a/cpp/tests/adc_test/adc_test.atsln b/cpp/tests/adc_test/adc_test.atsln new file mode 100644 index 0000000..4cfe6ce --- /dev/null +++ b/cpp/tests/adc_test/adc_test.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "adc_test", "adc_test\adc_test.cppproj", "{B83DAF80-E747-47FD-8AD7-6DAD72B329EC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B83DAF80-E747-47FD-8AD7-6DAD72B329EC}.Debug|AVR.ActiveCfg = Debug|AVR + {B83DAF80-E747-47FD-8AD7-6DAD72B329EC}.Debug|AVR.Build.0 = Debug|AVR + {B83DAF80-E747-47FD-8AD7-6DAD72B329EC}.Release|AVR.ActiveCfg = Release|AVR + {B83DAF80-E747-47FD-8AD7-6DAD72B329EC}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/adc_test/adc_test/adc_test.cpp b/cpp/tests/adc_test/adc_test/adc_test.cpp new file mode 100644 index 0000000..02e617d --- /dev/null +++ b/cpp/tests/adc_test/adc_test/adc_test.cpp @@ -0,0 +1,55 @@ +/* + * adc_test.cpp + * + * Created: 03.06.2015 17:52:29 + * Author: Zephram + */ + +#define F_CPU 16000000 + +#include +#include +#include +#include "lcd-routines.h" +#include "lcd-routines.c" + +int main(void) +{ + ADMUX |= (1< + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {b83daf80-e747-47fd-8ad7-6dad72b329ec} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + adc_test + adc_test + adc_test + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + + + libm + printf_flt.a + + + Default (-Wa,-g) + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + + + libm + printf_flt.a + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/cpp/tests/adc_test/adc_test/lcd-routines.c b/cpp/tests/adc_test/adc_test/lcd-routines.c new file mode 100644 index 0000000..f8d0822 --- /dev/null +++ b/cpp/tests/adc_test/adc_test/lcd-routines.c @@ -0,0 +1,176 @@ +// Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus +// http://www.mikrocontroller.net/articles/HD44780 +// http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung +// +// Die Pinbelegung ist über defines in lcd-routines.h einstellbar + +#include +#include "lcd-routines.h" +#include + +//////////////////////////////////////////////////////////////////////////////// +// Erzeugt einen Enable-Puls +static void lcd_enable( void ) +{ + LCD_PORT |= (1<>(4-LCD_DB)); // Maske löschen + LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen + lcd_enable(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ) +{ + // verwendete Pins auf Ausgang schalten + uint8_t pins = (0x0F << LCD_DB) | // 4 Datenleitungen + (1< PORTC Bit PC2-PD5 +#define LCD_PORT PORTC +#define LCD_DDR DDRC +#define LCD_DB PC2 + +// LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command) +#define LCD_RS PC6 + +// LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten) +#define LCD_EN PC7 + +//////////////////////////////////////////////////////////////////////////////// +// LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden) + +#define LCD_BOOTUP_MS 15 +#define LCD_ENABLE_US 20 +#define LCD_WRITEDATA_US 46 +#define LCD_COMMAND_US 42 + +#define LCD_SOFT_RESET_MS1 5 +#define LCD_SOFT_RESET_MS2 1 +#define LCD_SOFT_RESET_MS3 1 +#define LCD_SET_4BITMODE_MS 5 + +#define LCD_CLEAR_DISPLAY_MS 2 +#define LCD_CURSOR_HOME_MS 2 + +//////////////////////////////////////////////////////////////////////////////// +// Zeilendefinitionen des verwendeten LCD +// Die Einträge hier sollten für ein LCD mit einer Zeilenlänge von 16 Zeichen passen +// Bei anderen Zeilenlängen müssen diese Einträge angepasst werden + +#define LCD_DDADR_LINE1 0x00 +#define LCD_DDADR_LINE2 0x40 +#define LCD_DDADR_LINE3 0x10 +#define LCD_DDADR_LINE4 0x50 + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ); + +//////////////////////////////////////////////////////////////////////////////// +// LCD löschen +void lcd_clear( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor in die 1. Zeile, 0-te Spalte +void lcd_home( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor an eine beliebige Position +void lcd_setcursor( uint8_t spalte, uint8_t zeile ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines einzelnen Zeichens an der aktuellen Cursorposition +void lcd_data( uint8_t data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Strings an der aktuellen Cursorposition +void lcd_string( const char *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Definition eines benutzerdefinierten Sonderzeichens. +// data muss auf ein Array[8] mit den Zeilencodes des zu definierenden Zeichens +// zeigen +void lcd_generatechar( uint8_t code, const uint8_t *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Kommandos an das LCD. +void lcd_command( uint8_t data ); + + +//////////////////////////////////////////////////////////////////////////////// +// LCD Befehle und Argumente. +// Zur Verwendung in lcd_command + +// Clear Display -------------- 0b00000001 +#define LCD_CLEAR_DISPLAY 0x01 + +// Cursor Home ---------------- 0b0000001x +#define LCD_CURSOR_HOME 0x02 + +// Set Entry Mode ------------- 0b000001xx +#define LCD_SET_ENTRY 0x04 + +#define LCD_ENTRY_DECREASE 0x00 +#define LCD_ENTRY_INCREASE 0x02 +#define LCD_ENTRY_NOSHIFT 0x00 +#define LCD_ENTRY_SHIFT 0x01 + +// Set Display ---------------- 0b00001xxx +#define LCD_SET_DISPLAY 0x08 + +#define LCD_DISPLAY_OFF 0x00 +#define LCD_DISPLAY_ON 0x04 +#define LCD_CURSOR_OFF 0x00 +#define LCD_CURSOR_ON 0x02 +#define LCD_BLINKING_OFF 0x00 +#define LCD_BLINKING_ON 0x01 + +// Set Shift ------------------ 0b0001xxxx +#define LCD_SET_SHIFT 0x10 + +#define LCD_CURSOR_MOVE 0x00 +#define LCD_DISPLAY_SHIFT 0x08 +#define LCD_SHIFT_LEFT 0x00 +#define LCD_SHIFT_RIGHT 0x04 + +// Set Function --------------- 0b001xxxxx +#define LCD_SET_FUNCTION 0x20 + +#define LCD_FUNCTION_4BIT 0x00 +#define LCD_FUNCTION_8BIT 0x10 +#define LCD_FUNCTION_1LINE 0x00 +#define LCD_FUNCTION_2LINE 0x08 +#define LCD_FUNCTION_5X7 0x00 +#define LCD_FUNCTION_5X10 0x04 + +#define LCD_SOFT_RESET 0x30 + +// Set CG RAM Address --------- 0b01xxxxxx (Character Generator RAM) +#define LCD_SET_CGADR 0x40 + +#define LCD_GC_CHAR0 0 +#define LCD_GC_CHAR1 1 +#define LCD_GC_CHAR2 2 +#define LCD_GC_CHAR3 3 +#define LCD_GC_CHAR4 4 +#define LCD_GC_CHAR5 5 +#define LCD_GC_CHAR6 6 +#define LCD_GC_CHAR7 7 + +// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM) +#define LCD_SET_DDADR 0x80 + +#endif \ No newline at end of file diff --git a/cpp/tests/dac_test/dac_test.atsln b/cpp/tests/dac_test/dac_test.atsln new file mode 100644 index 0000000..bf5aa34 --- /dev/null +++ b/cpp/tests/dac_test/dac_test.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "dac_test", "dac_test\dac_test.cppproj", "{C5DD0515-9B1A-4DEB-BD66-6122614FF654}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C5DD0515-9B1A-4DEB-BD66-6122614FF654}.Debug|AVR.ActiveCfg = Debug|AVR + {C5DD0515-9B1A-4DEB-BD66-6122614FF654}.Debug|AVR.Build.0 = Debug|AVR + {C5DD0515-9B1A-4DEB-BD66-6122614FF654}.Release|AVR.ActiveCfg = Release|AVR + {C5DD0515-9B1A-4DEB-BD66-6122614FF654}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/dac_test/dac_test/dac_test.cpp b/cpp/tests/dac_test/dac_test/dac_test.cpp new file mode 100644 index 0000000..cac5c2f --- /dev/null +++ b/cpp/tests/dac_test/dac_test/dac_test.cpp @@ -0,0 +1,56 @@ +/* + * dac_test.cpp + * + * Created: 04.06.2015 15:36:50 + * Author: Zephram + */ + +#define F_CPU 16000000 + +#include +#include + +const char mode = 1; // 1 or 2 + + +int main(void) +{ + bool bState = false; + char cOut = 0; + + DDRB = 0x08; // Setup PB3 as output + + TCCR0 |= (1< + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {c5dd0515-9b1a-4deb-bd66-6122614ff654} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + dac_test + dac_test + dac_test + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/cpp/tests/key_test/key_test.atsln b/cpp/tests/key_test/key_test.atsln new file mode 100644 index 0000000..3e94cbf --- /dev/null +++ b/cpp/tests/key_test/key_test.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "key_test", "key_test\key_test.cppproj", "{232A5721-5D45-4D4B-ACF1-BDAE39B9A23C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {232A5721-5D45-4D4B-ACF1-BDAE39B9A23C}.Debug|AVR.ActiveCfg = Debug|AVR + {232A5721-5D45-4D4B-ACF1-BDAE39B9A23C}.Debug|AVR.Build.0 = Debug|AVR + {232A5721-5D45-4D4B-ACF1-BDAE39B9A23C}.Release|AVR.ActiveCfg = Release|AVR + {232A5721-5D45-4D4B-ACF1-BDAE39B9A23C}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/key_test/key_test/key_test.cpp b/cpp/tests/key_test/key_test/key_test.cpp new file mode 100644 index 0000000..df5545b --- /dev/null +++ b/cpp/tests/key_test/key_test/key_test.cpp @@ -0,0 +1,38 @@ +/* + * pollin0.cpp + * + * Created: 19.03.2015 02:20:59 + * Author: Zephram + */ + +#define F_CPU 16000000 + +#include +#include + +const char direction = 1; // 1 or 2 + +int main(void) +{ + if(direction == 1) + { + DDRB = 0b11111111; + DDRD = 0b00000000; + } + else + { + DDRD = 0b11111111; + DDRB = 0b00000000; + } + + PORTB = 0b00000000; + PORTD = 0b00000000; + + while(1) + { + if(direction == 1) + PORTB = PIND; + else + PORTD = PINB; + } +} \ No newline at end of file diff --git a/cpp/tests/key_test/key_test/key_test.cppproj b/cpp/tests/key_test/key_test/key_test.cppproj new file mode 100644 index 0000000..ce9e30b --- /dev/null +++ b/cpp/tests/key_test/key_test/key_test.cppproj @@ -0,0 +1,149 @@ + + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {232a5721-5d45-4d4b-acf1-bdae39b9a23c} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + key_test + key_test + key_test + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + + + libm + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/cpp/tests/lcd_test_162c/lcd_test_162c.atsln b/cpp/tests/lcd_test_162c/lcd_test_162c.atsln new file mode 100644 index 0000000..dc8c58e --- /dev/null +++ b/cpp/tests/lcd_test_162c/lcd_test_162c.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "lcd_test_162c", "lcd_test_162c\lcd_test_162c.cppproj", "{C33BE76F-8E0D-49AD-86B7-54D262397565}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C33BE76F-8E0D-49AD-86B7-54D262397565}.Debug|AVR.ActiveCfg = Debug|AVR + {C33BE76F-8E0D-49AD-86B7-54D262397565}.Debug|AVR.Build.0 = Debug|AVR + {C33BE76F-8E0D-49AD-86B7-54D262397565}.Release|AVR.ActiveCfg = Release|AVR + {C33BE76F-8E0D-49AD-86B7-54D262397565}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/lcd_test_162c/lcd_test_162c/lcd-routines.c b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd-routines.c new file mode 100644 index 0000000..f8d0822 --- /dev/null +++ b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd-routines.c @@ -0,0 +1,176 @@ +// Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus +// http://www.mikrocontroller.net/articles/HD44780 +// http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung +// +// Die Pinbelegung ist über defines in lcd-routines.h einstellbar + +#include +#include "lcd-routines.h" +#include + +//////////////////////////////////////////////////////////////////////////////// +// Erzeugt einen Enable-Puls +static void lcd_enable( void ) +{ + LCD_PORT |= (1<>(4-LCD_DB)); // Maske löschen + LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen + lcd_enable(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ) +{ + // verwendete Pins auf Ausgang schalten + uint8_t pins = (0x0F << LCD_DB) | // 4 Datenleitungen + (1< PORTC Bit PC2-PD5 +#define LCD_PORT PORTC +#define LCD_DDR DDRC +#define LCD_DB PC2 + +// LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command) +#define LCD_RS PC6 + +// LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten) +#define LCD_EN PC7 + +//////////////////////////////////////////////////////////////////////////////// +// LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden) + +#define LCD_BOOTUP_MS 15 +#define LCD_ENABLE_US 20 +#define LCD_WRITEDATA_US 46 +#define LCD_COMMAND_US 42 + +#define LCD_SOFT_RESET_MS1 5 +#define LCD_SOFT_RESET_MS2 1 +#define LCD_SOFT_RESET_MS3 1 +#define LCD_SET_4BITMODE_MS 5 + +#define LCD_CLEAR_DISPLAY_MS 2 +#define LCD_CURSOR_HOME_MS 2 + +//////////////////////////////////////////////////////////////////////////////// +// Zeilendefinitionen des verwendeten LCD +// Die Einträge hier sollten für ein LCD mit einer Zeilenlänge von 16 Zeichen passen +// Bei anderen Zeilenlängen müssen diese Einträge angepasst werden + +#define LCD_DDADR_LINE1 0x00 +#define LCD_DDADR_LINE2 0x40 +#define LCD_DDADR_LINE3 0x10 +#define LCD_DDADR_LINE4 0x50 + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ); + +//////////////////////////////////////////////////////////////////////////////// +// LCD löschen +void lcd_clear( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor in die 1. Zeile, 0-te Spalte +void lcd_home( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor an eine beliebige Position +void lcd_setcursor( uint8_t spalte, uint8_t zeile ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines einzelnen Zeichens an der aktuellen Cursorposition +void lcd_data( uint8_t data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Strings an der aktuellen Cursorposition +void lcd_string( const char *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Definition eines benutzerdefinierten Sonderzeichens. +// data muss auf ein Array[8] mit den Zeilencodes des zu definierenden Zeichens +// zeigen +void lcd_generatechar( uint8_t code, const uint8_t *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Kommandos an das LCD. +void lcd_command( uint8_t data ); + + +//////////////////////////////////////////////////////////////////////////////// +// LCD Befehle und Argumente. +// Zur Verwendung in lcd_command + +// Clear Display -------------- 0b00000001 +#define LCD_CLEAR_DISPLAY 0x01 + +// Cursor Home ---------------- 0b0000001x +#define LCD_CURSOR_HOME 0x02 + +// Set Entry Mode ------------- 0b000001xx +#define LCD_SET_ENTRY 0x04 + +#define LCD_ENTRY_DECREASE 0x00 +#define LCD_ENTRY_INCREASE 0x02 +#define LCD_ENTRY_NOSHIFT 0x00 +#define LCD_ENTRY_SHIFT 0x01 + +// Set Display ---------------- 0b00001xxx +#define LCD_SET_DISPLAY 0x08 + +#define LCD_DISPLAY_OFF 0x00 +#define LCD_DISPLAY_ON 0x04 +#define LCD_CURSOR_OFF 0x00 +#define LCD_CURSOR_ON 0x02 +#define LCD_BLINKING_OFF 0x00 +#define LCD_BLINKING_ON 0x01 + +// Set Shift ------------------ 0b0001xxxx +#define LCD_SET_SHIFT 0x10 + +#define LCD_CURSOR_MOVE 0x00 +#define LCD_DISPLAY_SHIFT 0x08 +#define LCD_SHIFT_LEFT 0x00 +#define LCD_SHIFT_RIGHT 0x04 + +// Set Function --------------- 0b001xxxxx +#define LCD_SET_FUNCTION 0x20 + +#define LCD_FUNCTION_4BIT 0x00 +#define LCD_FUNCTION_8BIT 0x10 +#define LCD_FUNCTION_1LINE 0x00 +#define LCD_FUNCTION_2LINE 0x08 +#define LCD_FUNCTION_5X7 0x00 +#define LCD_FUNCTION_5X10 0x04 + +#define LCD_SOFT_RESET 0x30 + +// Set CG RAM Address --------- 0b01xxxxxx (Character Generator RAM) +#define LCD_SET_CGADR 0x40 + +#define LCD_GC_CHAR0 0 +#define LCD_GC_CHAR1 1 +#define LCD_GC_CHAR2 2 +#define LCD_GC_CHAR3 3 +#define LCD_GC_CHAR4 4 +#define LCD_GC_CHAR5 5 +#define LCD_GC_CHAR6 6 +#define LCD_GC_CHAR7 7 + +// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM) +#define LCD_SET_DDADR 0x80 + +#endif \ No newline at end of file diff --git a/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cpp b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cpp new file mode 100644 index 0000000..0f4f24e --- /dev/null +++ b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cpp @@ -0,0 +1,36 @@ +/* + * lcd_test_162c.cpp + * + * Created: 03.06.2015 17:52:29 + * Author: Zephram + */ + + +#include +#include "lcd-routines.h" +#include "lcd-routines.c" + +int main(void) +{ + + + lcd_init(); + + // Text in einzelnen Zeichen ausgeben + //lcd_data( 'T' ); + //lcd_data( 'e' ); + //lcd_data( 's' ); + //lcd_data( 't' ); + + // Die Ausgabemarke in die 2te Zeile setzen + lcd_setcursor( 0, 1 ); + + // erneut Text ausgeben, aber diesmal komfortabler als String + lcd_string("Hello World! :)"); + + + while(1) + { + //TODO:: Please write your application code + } +} \ No newline at end of file diff --git a/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cppproj b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cppproj new file mode 100644 index 0000000..e36d377 --- /dev/null +++ b/cpp/tests/lcd_test_162c/lcd_test_162c/lcd_test_162c.cppproj @@ -0,0 +1,156 @@ + + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {c33be76f-8e0d-49ad-86b7-54d262397565} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + lcd_test_162c + lcd_test_162c + lcd_test_162c + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + compile + + + + \ No newline at end of file diff --git a/cpp/tests/led_test/led_test.atsln b/cpp/tests/led_test/led_test.atsln new file mode 100644 index 0000000..e6babce --- /dev/null +++ b/cpp/tests/led_test/led_test.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "led_test", "led_test\led_test.cppproj", "{99947040-08C7-4CBE-ABA9-DCA04414BA87}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {99947040-08C7-4CBE-ABA9-DCA04414BA87}.Debug|AVR.ActiveCfg = Debug|AVR + {99947040-08C7-4CBE-ABA9-DCA04414BA87}.Debug|AVR.Build.0 = Debug|AVR + {99947040-08C7-4CBE-ABA9-DCA04414BA87}.Release|AVR.ActiveCfg = Release|AVR + {99947040-08C7-4CBE-ABA9-DCA04414BA87}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/led_test/led_test/led_test.cpp b/cpp/tests/led_test/led_test/led_test.cpp new file mode 100644 index 0000000..515f707 --- /dev/null +++ b/cpp/tests/led_test/led_test/led_test.cpp @@ -0,0 +1,49 @@ +/* + * pollin0.cpp + * + * Created: 19.03.2015 02:20:59 + * Author: Zephram + */ + +#define F_CPU 16000000 + +#include +#include + +int main(void) +{ + DDRC = 255; + PORTC = 255; + + + + + // PD1 ist äußere Leitung = gelb + // PD2 ist innere Leitung = grün + + DDRB = 0b11111111; + PORTB = 0b00000000; + DDRD = 0b11111111; // Board-LEDs auf Ausgabe, Drähte auf Eingabe + PORTD = 0b00000000; // Pull-Up + + volatile char counter = 0; + volatile bool forward = true; + + while(1) + { + PORTD = 0; + PORTB = 0; + + if(counter <= 7) PORTB = 1 << counter; + if(counter > 7) PORTD = 1 << (counter-8); + + if(forward)counter++; else counter--; + + if(counter == 15) forward = false; + + if(counter == 0) forward = true; + + _delay_ms(100); + + } +} \ No newline at end of file diff --git a/cpp/tests/led_test/led_test/led_test.cppproj b/cpp/tests/led_test/led_test/led_test.cppproj new file mode 100644 index 0000000..50b46d0 --- /dev/null +++ b/cpp/tests/led_test/led_test/led_test.cppproj @@ -0,0 +1,149 @@ + + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {99947040-08c7-4cbe-aba9-dca04414ba87} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + led_test + led_test + led_test + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + + + libm + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/cpp/tests/uart_test/uart_test.atsln b/cpp/tests/uart_test/uart_test.atsln new file mode 100644 index 0000000..fa1f063 --- /dev/null +++ b/cpp/tests/uart_test/uart_test.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "uart_test", "uart_test\uart_test.cppproj", "{C3DF3B2E-061C-4878-840B-6EB0C46144AD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C3DF3B2E-061C-4878-840B-6EB0C46144AD}.Debug|AVR.ActiveCfg = Debug|AVR + {C3DF3B2E-061C-4878-840B-6EB0C46144AD}.Debug|AVR.Build.0 = Debug|AVR + {C3DF3B2E-061C-4878-840B-6EB0C46144AD}.Release|AVR.ActiveCfg = Release|AVR + {C3DF3B2E-061C-4878-840B-6EB0C46144AD}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp/tests/uart_test/uart_test/lcd-routines.c b/cpp/tests/uart_test/uart_test/lcd-routines.c new file mode 100644 index 0000000..f8d0822 --- /dev/null +++ b/cpp/tests/uart_test/uart_test/lcd-routines.c @@ -0,0 +1,176 @@ +// Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus +// http://www.mikrocontroller.net/articles/HD44780 +// http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung +// +// Die Pinbelegung ist über defines in lcd-routines.h einstellbar + +#include +#include "lcd-routines.h" +#include + +//////////////////////////////////////////////////////////////////////////////// +// Erzeugt einen Enable-Puls +static void lcd_enable( void ) +{ + LCD_PORT |= (1<>(4-LCD_DB)); // Maske löschen + LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen + lcd_enable(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ) +{ + // verwendete Pins auf Ausgang schalten + uint8_t pins = (0x0F << LCD_DB) | // 4 Datenleitungen + (1< PORTC Bit PC2-PD5 +#define LCD_PORT PORTC +#define LCD_DDR DDRC +#define LCD_DB PC2 + +// LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command) +#define LCD_RS PC6 + +// LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten) +#define LCD_EN PC7 + +//////////////////////////////////////////////////////////////////////////////// +// LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden) + +#define LCD_BOOTUP_MS 15 +#define LCD_ENABLE_US 20 +#define LCD_WRITEDATA_US 46 +#define LCD_COMMAND_US 42 + +#define LCD_SOFT_RESET_MS1 5 +#define LCD_SOFT_RESET_MS2 1 +#define LCD_SOFT_RESET_MS3 1 +#define LCD_SET_4BITMODE_MS 5 + +#define LCD_CLEAR_DISPLAY_MS 2 +#define LCD_CURSOR_HOME_MS 2 + +//////////////////////////////////////////////////////////////////////////////// +// Zeilendefinitionen des verwendeten LCD +// Die Einträge hier sollten für ein LCD mit einer Zeilenlänge von 16 Zeichen passen +// Bei anderen Zeilenlängen müssen diese Einträge angepasst werden + +#define LCD_DDADR_LINE1 0x00 +#define LCD_DDADR_LINE2 0x40 +#define LCD_DDADR_LINE3 0x10 +#define LCD_DDADR_LINE4 0x50 + +//////////////////////////////////////////////////////////////////////////////// +// Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. +void lcd_init( void ); + +//////////////////////////////////////////////////////////////////////////////// +// LCD löschen +void lcd_clear( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor in die 1. Zeile, 0-te Spalte +void lcd_home( void ); + +//////////////////////////////////////////////////////////////////////////////// +// Cursor an eine beliebige Position +void lcd_setcursor( uint8_t spalte, uint8_t zeile ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines einzelnen Zeichens an der aktuellen Cursorposition +void lcd_data( uint8_t data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Strings an der aktuellen Cursorposition +void lcd_string( const char *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Definition eines benutzerdefinierten Sonderzeichens. +// data muss auf ein Array[8] mit den Zeilencodes des zu definierenden Zeichens +// zeigen +void lcd_generatechar( uint8_t code, const uint8_t *data ); + +//////////////////////////////////////////////////////////////////////////////// +// Ausgabe eines Kommandos an das LCD. +void lcd_command( uint8_t data ); + + +//////////////////////////////////////////////////////////////////////////////// +// LCD Befehle und Argumente. +// Zur Verwendung in lcd_command + +// Clear Display -------------- 0b00000001 +#define LCD_CLEAR_DISPLAY 0x01 + +// Cursor Home ---------------- 0b0000001x +#define LCD_CURSOR_HOME 0x02 + +// Set Entry Mode ------------- 0b000001xx +#define LCD_SET_ENTRY 0x04 + +#define LCD_ENTRY_DECREASE 0x00 +#define LCD_ENTRY_INCREASE 0x02 +#define LCD_ENTRY_NOSHIFT 0x00 +#define LCD_ENTRY_SHIFT 0x01 + +// Set Display ---------------- 0b00001xxx +#define LCD_SET_DISPLAY 0x08 + +#define LCD_DISPLAY_OFF 0x00 +#define LCD_DISPLAY_ON 0x04 +#define LCD_CURSOR_OFF 0x00 +#define LCD_CURSOR_ON 0x02 +#define LCD_BLINKING_OFF 0x00 +#define LCD_BLINKING_ON 0x01 + +// Set Shift ------------------ 0b0001xxxx +#define LCD_SET_SHIFT 0x10 + +#define LCD_CURSOR_MOVE 0x00 +#define LCD_DISPLAY_SHIFT 0x08 +#define LCD_SHIFT_LEFT 0x00 +#define LCD_SHIFT_RIGHT 0x04 + +// Set Function --------------- 0b001xxxxx +#define LCD_SET_FUNCTION 0x20 + +#define LCD_FUNCTION_4BIT 0x00 +#define LCD_FUNCTION_8BIT 0x10 +#define LCD_FUNCTION_1LINE 0x00 +#define LCD_FUNCTION_2LINE 0x08 +#define LCD_FUNCTION_5X7 0x00 +#define LCD_FUNCTION_5X10 0x04 + +#define LCD_SOFT_RESET 0x30 + +// Set CG RAM Address --------- 0b01xxxxxx (Character Generator RAM) +#define LCD_SET_CGADR 0x40 + +#define LCD_GC_CHAR0 0 +#define LCD_GC_CHAR1 1 +#define LCD_GC_CHAR2 2 +#define LCD_GC_CHAR3 3 +#define LCD_GC_CHAR4 4 +#define LCD_GC_CHAR5 5 +#define LCD_GC_CHAR6 6 +#define LCD_GC_CHAR7 7 + +// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM) +#define LCD_SET_DDADR 0x80 + +#endif \ No newline at end of file diff --git a/cpp/tests/uart_test/uart_test/uart_test.cpp b/cpp/tests/uart_test/uart_test/uart_test.cpp new file mode 100644 index 0000000..20ebe88 --- /dev/null +++ b/cpp/tests/uart_test/uart_test/uart_test.cpp @@ -0,0 +1,95 @@ +/* + * uart_test.cpp + * + * Created: 04.06.2015 19:47:58 + * Author: Zephram + */ + +#define F_CPU 16000000UL +#define BAUD 9600 +#include + +#include +#include + +#include "lcd-routines.h" +#include "lcd-routines.c" + +//This function is used to read the available data +//from USART. This function will wait untill data is +//available. +char USARTReadChar() +{ + //Wait untill a data is available + + while(!(UCSRA & (1< + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.CPP + {c3df3b2e-061c-4878-840b-6eb0c46144ad} + ATmega32 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + uart_test + uart_test + uart_test + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize for size (-Os) + True + True + True + + + libm + + + + + + + + + -mmcu=atmega32 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/eagle/DESCRIPTION b/eagle/DESCRIPTION index 6c84628..47af1f1 100644 --- a/eagle/DESCRIPTION +++ b/eagle/DESCRIPTION @@ -1 +1 @@ -Camino \ No newline at end of file +Camino (Eagle 7.2) diff --git a/eagle/camino.brd b/eagle/camino.brd index 9e33938..12dae82 100644 --- a/eagle/camino.brd +++ b/eagle/camino.brd @@ -1,6 +1,6 @@ - + @@ -38,28 +38,28 @@ - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - - + + @@ -80,25 +80,15 @@ - - - - - - - - - - - - - - + + + + - - + + - + @@ -134,6 +124,19 @@ 6|2 7|3 GND + + + + + + + + + + + + + @@ -378,29 +381,6 @@ chip - - - - - - - - - - - - - - - - - - - - ->NAME ->VALUE - @@ -615,47 +595,6 @@ grid 5.08 mm, diameter 10.5 mm - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->NAME - - - - ->VALUE - - - - - - - <b>POTENTIOMETER</b><p> Spectrol @@ -1645,65 +1584,69 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma >NAME >VALUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->NAME ->VALUE - - + + + + + + + + + + + + + + + + + + + + +>NAME +>VALUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME + + + + +>VALUE + + + + + + @@ -1716,7 +1659,7 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma - + <b>EAGLE Design Rules für Camino v1.3</b> <p> Die Standard-Design-Rules sind so gewählt, dass sie für @@ -1802,6 +1745,9 @@ design rules under a new name. + + + @@ -1913,10 +1859,6 @@ design rules under a new name. - - - - @@ -2099,19 +2041,17 @@ design rules under a new name. - - + - @@ -2132,7 +2072,7 @@ design rules under a new name. - + @@ -2162,7 +2102,7 @@ design rules under a new name. - + @@ -2178,7 +2118,7 @@ design rules under a new name. - + @@ -2256,7 +2196,12 @@ design rules under a new name. - + + + + + + @@ -2265,9 +2210,6 @@ design rules under a new name. - - - @@ -2635,9 +2577,8 @@ design rules under a new name. - - + @@ -2652,7 +2593,6 @@ design rules under a new name. - @@ -2698,11 +2638,10 @@ design rules under a new name. - - + @@ -2723,7 +2662,7 @@ design rules under a new name. - + @@ -2774,6 +2713,15 @@ design rules under a new name. + + + + + + + + + @@ -2781,9 +2729,6 @@ design rules under a new name. - - - @@ -2852,8 +2797,6 @@ design rules under a new name. - - @@ -2867,7 +2810,6 @@ design rules under a new name. - @@ -2903,7 +2845,6 @@ design rules under a new name. - @@ -3367,14 +3308,13 @@ design rules under a new name. - - - + + @@ -3416,7 +3356,6 @@ design rules under a new name. - @@ -3439,7 +3378,6 @@ design rules under a new name. - @@ -3449,7 +3387,6 @@ design rules under a new name. - @@ -3492,7 +3429,6 @@ design rules under a new name. - @@ -3592,32 +3528,29 @@ design rules under a new name. - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - @@ -3661,7 +3594,6 @@ design rules under a new name. - @@ -3679,8 +3611,6 @@ design rules under a new name. - - @@ -3693,6 +3623,9 @@ design rules under a new name. + + + @@ -3816,7 +3749,6 @@ design rules under a new name. - @@ -3864,7 +3796,6 @@ design rules under a new name. - @@ -3876,10 +3807,11 @@ design rules under a new name. + + - @@ -3887,7 +3819,6 @@ design rules under a new name. - @@ -3919,10 +3850,12 @@ design rules under a new name. + + + - @@ -3950,16 +3883,16 @@ design rules under a new name. - + + - @@ -3972,8 +3905,7 @@ design rules under a new name. - - + @@ -3998,10 +3930,11 @@ design rules under a new name. + + - @@ -4017,7 +3950,6 @@ design rules under a new name. - @@ -4032,10 +3964,12 @@ design rules under a new name. + + + - @@ -4065,7 +3999,6 @@ design rules under a new name. - @@ -4093,10 +4026,11 @@ design rules under a new name. + + - @@ -4126,7 +4060,6 @@ design rules under a new name. - @@ -4150,10 +4083,11 @@ design rules under a new name. + + - @@ -4166,7 +4100,6 @@ design rules under a new name. - @@ -4195,7 +4128,7 @@ design rules under a new name. - + @@ -4208,10 +4141,12 @@ design rules under a new name. + + + - @@ -4237,11 +4172,11 @@ design rules under a new name. - + + - @@ -4267,11 +4202,11 @@ design rules under a new name. - + + - @@ -4284,14 +4219,14 @@ design rules under a new name. - + + - @@ -4303,13 +4238,13 @@ design rules under a new name. - + + - @@ -4364,11 +4299,12 @@ design rules under a new name. + + - + - @@ -4440,10 +4376,10 @@ design rules under a new name. + - @@ -4493,15 +4429,15 @@ design rules under a new name. - + + - @@ -4514,7 +4450,6 @@ design rules under a new name. - @@ -4595,9 +4530,10 @@ design rules under a new name. + + - @@ -4638,7 +4574,6 @@ design rules under a new name. - @@ -4646,9 +4581,10 @@ design rules under a new name. + + - @@ -4691,11 +4627,11 @@ design rules under a new name. - + + - @@ -4707,16 +4643,16 @@ design rules under a new name. - - - - - - - + + + + + + + + - @@ -4729,16 +4665,17 @@ design rules under a new name. - - - + + + + + - @@ -4756,16 +4693,16 @@ design rules under a new name. - - - - + + + + + - @@ -4784,12 +4721,12 @@ design rules under a new name. - - - + + + + - @@ -4818,16 +4755,15 @@ design rules under a new name. - - - - + + + + - @@ -4848,14 +4784,14 @@ design rules under a new name. - - + + + - @@ -4879,15 +4815,15 @@ design rules under a new name. - - - - + + + + + - @@ -4907,13 +4843,14 @@ design rules under a new name. - - + + + @@ -6333,24 +6270,23 @@ design rules under a new name. - - + + - - + + - @@ -6358,14 +6294,13 @@ design rules under a new name. - + + - - @@ -6373,11 +6308,11 @@ design rules under a new name. + + - - @@ -6387,6 +6322,8 @@ design rules under a new name. + + @@ -6546,7 +6483,6 @@ design rules under a new name. - @@ -6577,11 +6513,11 @@ design rules under a new name. - + + - @@ -6621,12 +6557,14 @@ design rules under a new name. - - + + + + + - @@ -6665,11 +6603,11 @@ design rules under a new name. - + + - @@ -6708,10 +6646,10 @@ design rules under a new name. - + + - @@ -6721,7 +6659,6 @@ design rules under a new name. - @@ -6731,12 +6668,12 @@ design rules under a new name. + + - - @@ -6755,6 +6692,8 @@ design rules under a new name. + + @@ -6803,7 +6742,6 @@ design rules under a new name. - @@ -6822,18 +6760,17 @@ design rules under a new name. - + + - - @@ -6842,9 +6779,10 @@ design rules under a new name. + + - @@ -6861,11 +6799,12 @@ design rules under a new name. + + - + - @@ -6876,16 +6815,16 @@ design rules under a new name. - + + - @@ -6899,8 +6838,6 @@ design rules under a new name. - - @@ -6908,9 +6845,11 @@ design rules under a new name. + + + - @@ -6921,7 +6860,6 @@ design rules under a new name. - @@ -6931,11 +6869,12 @@ design rules under a new name. + + - @@ -6949,9 +6888,10 @@ design rules under a new name. - + + @@ -7378,7 +7318,6 @@ design rules under a new name. - @@ -7387,7 +7326,6 @@ design rules under a new name. - @@ -7412,6 +7350,8 @@ design rules under a new name. + + @@ -7612,7 +7552,6 @@ design rules under a new name. - @@ -7674,7 +7613,6 @@ design rules under a new name. - @@ -7704,6 +7642,8 @@ design rules under a new name. + + @@ -7917,10 +7857,435 @@ design rules under a new name. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eagle/camino.lbr b/eagle/camino.lbr index 6025314..0e86f5d 100644 --- a/eagle/camino.lbr +++ b/eagle/camino.lbr @@ -1,12 +1,12 @@ - + - + @@ -3192,7 +3192,7 @@ small >VALUE - + diff --git a/eagle/camino.sch b/eagle/camino.sch index 5f29f23..cf6b143 100644 --- a/eagle/camino.sch +++ b/eagle/camino.sch @@ -1,6 +1,6 @@ - + @@ -1072,47 +1072,6 @@ chip - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->NAME - - - - ->VALUE - - - - - - - <b>POTENTIOMETER</b><p> Spectrol @@ -1941,47 +1900,6 @@ small - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->NAME - - - - ->VALUE - - - - - @@ -2130,65 +2048,87 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma >NAME >VALUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->NAME ->VALUE - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME + + + + +>VALUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME + + + + +>VALUE + + + + + + @@ -2569,22 +2509,6 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma - - - - - - - - - - - - - ->NAME ->VALUE - @@ -2623,23 +2547,6 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma TxD GND - - - - - - - - - - - - - - ->NAME - - @@ -2658,7 +2565,7 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma - + @@ -2879,26 +2786,38 @@ Source: http://www.maxim-ic.com/cgi-bin/packages?pkg=16%2FSOIC%2E300&Type=Ma >NAME >VALUE - - - - - - - - - - - - - - - - - - ->NAME ->VALUE + + + + + + + + + + + + + +>NAME +>VALUE + + + + + + + + + + + + + + + +>NAME + @@ -3557,28 +3476,6 @@ grid 3 x 5 mm - - - - - - - - - - - - - - - - - - - - - - <b>SUB-D</b> @@ -3609,48 +3506,6 @@ grid 3 x 5 mm - -LCD/OLED Dot-Matrix-Modul 2x16 Zeichen Reichelt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3924,26 +3779,63 @@ grid 3 x 5 mm - + + + + + + + + + + + + + + + + + + + + + + + +LCD/OLED Dot-Matrix-Modul 2x16 Zeichen Reichelt - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3987,10 +3879,6 @@ grid 3 x 5 mm - - - - @@ -4251,20 +4139,18 @@ grid 3 x 5 mm - - + - @@ -4292,7 +4178,7 @@ grid 3 x 5 mm - + @@ -4307,7 +4193,7 @@ grid 3 x 5 mm - + @@ -4323,7 +4209,7 @@ grid 3 x 5 mm - + @@ -4424,7 +4310,12 @@ grid 3 x 5 mm - + + + + + + @@ -4458,10 +4349,6 @@ grid 3 x 5 mm - - - - @@ -4722,7 +4609,6 @@ grid 3 x 5 mm - @@ -4735,7 +4621,6 @@ grid 3 x 5 mm - @@ -4895,7 +4780,12 @@ grid 3 x 5 mm - + + + + + + @@ -4926,19 +4816,19 @@ grid 3 x 5 mm - + - + - + @@ -5325,10 +5215,6 @@ grid 3 x 5 mm - - - - @@ -5402,13 +5288,13 @@ grid 3 x 5 mm - + @@ -5553,9 +5439,9 @@ grid 3 x 5 mm - + @@ -5625,6 +5511,10 @@ grid 3 x 5 mm + + + + @@ -5663,8 +5553,8 @@ grid 3 x 5 mm - + @@ -5692,19 +5582,19 @@ grid 3 x 5 mm - + - + - + @@ -6081,7 +5971,6 @@ grid 3 x 5 mm - @@ -6095,12 +5984,12 @@ grid 3 x 5 mm + - @@ -6110,12 +5999,12 @@ grid 3 x 5 mm + - @@ -6125,12 +6014,12 @@ grid 3 x 5 mm + - @@ -6140,12 +6029,12 @@ grid 3 x 5 mm + - @@ -6155,12 +6044,12 @@ grid 3 x 5 mm + - @@ -6174,12 +6063,12 @@ grid 3 x 5 mm + - @@ -6193,12 +6082,12 @@ grid 3 x 5 mm + - @@ -6212,32 +6101,33 @@ grid 3 x 5 mm + - + - + @@ -6245,8 +6135,8 @@ grid 3 x 5 mm - + @@ -6254,14 +6144,13 @@ grid 3 x 5 mm - + - @@ -6277,12 +6166,12 @@ grid 3 x 5 mm + - @@ -6298,12 +6187,12 @@ grid 3 x 5 mm + - @@ -6319,6 +6208,7 @@ grid 3 x 5 mm + @@ -6328,7 +6218,6 @@ grid 3 x 5 mm - @@ -6344,6 +6233,7 @@ grid 3 x 5 mm + @@ -6351,7 +6241,6 @@ grid 3 x 5 mm - @@ -6361,6 +6250,7 @@ grid 3 x 5 mm + @@ -6368,7 +6258,6 @@ grid 3 x 5 mm - @@ -6378,42 +6267,43 @@ grid 3 x 5 mm + - + - + - + - + @@ -6421,12 +6311,12 @@ grid 3 x 5 mm - + @@ -6434,12 +6324,12 @@ grid 3 x 5 mm - + @@ -6447,12 +6337,12 @@ grid 3 x 5 mm - + @@ -6460,12 +6350,12 @@ grid 3 x 5 mm - + @@ -7419,38 +7309,38 @@ grid 3 x 5 mm - + - + - + - + - + @@ -7531,7 +7421,6 @@ grid 3 x 5 mm - @@ -7539,6 +7428,7 @@ grid 3 x 5 mm + @@ -7548,7 +7438,6 @@ grid 3 x 5 mm - @@ -7556,6 +7445,7 @@ grid 3 x 5 mm + @@ -7565,7 +7455,6 @@ grid 3 x 5 mm - @@ -7573,12 +7462,12 @@ grid 3 x 5 mm + - @@ -7590,11 +7479,11 @@ grid 3 x 5 mm + - @@ -7603,11 +7492,11 @@ grid 3 x 5 mm + - @@ -7616,6 +7505,7 @@ grid 3 x 5 mm + @@ -7641,59 +7531,58 @@ grid 3 x 5 mm - + - + - + - + - + - @@ -7705,6 +7594,7 @@ grid 3 x 5 mm + @@ -7715,10 +7605,10 @@ grid 3 x 5 mm - + @@ -8026,7 +7916,6 @@ grid 3 x 5 mm - @@ -8036,6 +7925,7 @@ grid 3 x 5 mm + @@ -8127,7 +8017,6 @@ grid 3 x 5 mm - @@ -8149,6 +8038,7 @@ grid 3 x 5 mm + @@ -8332,11 +8222,12 @@ grid 3 x 5 mm + + -