/trunk/libraries/deuligne/demo/deuligne__demo.c |
---|
37,6 → 37,19 |
#include <stdio.h> |
/****************************************************************************** |
* Private constant definitions. |
******************************************************************************/ |
static const char* strings[] = |
{ |
[DEULIGNE__KEY__RIGHT] = "Right Key OK ", |
[DEULIGNE__KEY__UP] = "Up Key OK ", |
[DEULIGNE__KEY__DOWN] = "Down Key OK ", |
[DEULIGNE__KEY__LEFT] = "Left Key OK ", |
[DEULIGNE__KEY__SELECT] = "Select Key OK" |
}; |
/****************************************************************************** |
* Public function definitions. |
******************************************************************************/ |
60,44 → 73,27 |
// Switch on backlight. |
deuligne__switch_on_backlight(); |
// Say "Hello world!" |
deuligne__write_string("Hello world!"); |
deuligne__set_cursor_position(DEULIGNE__DISPLAY_LINE_1, 5); |
deuligne__write_string("Setup"); |
deuligne__set_cursor_position(DEULIGNE__DISPLAY_LINE_2, 7); |
deuligne__write_string("ok"); |
_delay_ms(2000); |
deuligne__clear_display(); |
deuligne__write_string("Move Joystick"); |
// Infinite loop. |
for(;;) |
{ |
// Set cursor position. |
deuligne__set_cursor_position(DEULIGNE__DISPLAY_LINE_2, 0); |
// Get key. |
deuligne__key_t key = deuligne__get_key(); |
// Display key. |
switch (key) |
if (key != DEULIGNE__KEY__NONE) |
{ |
case DEULIGNE__KEY__UP: |
deuligne__write_string("Up "); |
break; |
// Set cursor position. |
deuligne__set_cursor_position(DEULIGNE__DISPLAY_LINE_2, 0); |
case DEULIGNE__KEY__DOWN: |
deuligne__write_string("Down "); |
break; |
case DEULIGNE__KEY__LEFT: |
deuligne__write_string("Left "); |
break; |
case DEULIGNE__KEY__RIGHT: |
deuligne__write_string("Right "); |
break; |
case DEULIGNE__KEY__SELECT: |
deuligne__write_string("Select"); |
break; |
case DEULIGNE__KEY__NONE: |
deuligne__write_string("None "); |
break; |
// Write string. |
deuligne__write_string(strings[key]); |
} |
_delay_ms(250); |
/trunk/libraries/deuligne/demo/SConscript |
---|
0,0 → 1,26 |
# Import environment set for target. |
Import('env_target') |
# Set target name. |
TARGET = 'deuligne__demo' |
# Set libraries to use. |
libraries = [ |
'deuligne', |
'mcp23008', |
'adc', |
'twi' |
] |
# Set source file. |
sources = [ |
'deuligne__demo.c' |
] |
# Build project and libraries. |
env_target.BuildProject(sources, TARGET) |
# Compute memory usage. |
env_target.ComputeMemoryUsage(TARGET) |
/trunk/libraries/deuligne/min_env/env_target.py |
---|
0,0 → 1,27 |
# Create and initialize the environment. |
env_target = Environment() |
# Set environment for AVR-GCC. |
env_target['CC'] = 'avr-gcc' |
env_target['CPPPATH'] = '/usr/lib/avr/include' |
env_target['OBJCOPY'] = 'avr-objcopy' |
env_target['SIZE'] = 'avr-size' |
env_target['AR'] = 'avr-ar' |
env_target['RANLIB'] = 'avr-ranlib' |
env_target.Append(CCFLAGS = '-Os') |
# Define environment name. |
env_target.Append(NAME = 'env_target') |
# Microcontroller type. |
env_target.Append(MCU = 'atmega328p') |
# Microcontroller frequency in Hertz. |
env_target.Append(F_CPU = '16000000UL') |
# Set environment for an Atmel AVR ATmega328p microcontroller. |
env_target.Append(CCFLAGS = '-mmcu=' + env_target['MCU']) |
env_target.Append(LINKFLAGS = '-mmcu=' + env_target['MCU']) |
env_target.Append(CPPDEFINES = 'F_CPU=' + env_target['F_CPU']) |
# Export environment set for target. |
Export('env_target') |
/trunk/libraries/deuligne/min_env/build_tools.py |
---|
0,0 → 1,41 |
""" |
Build project. |
""" |
def BuildProject(env, sources, target_name): |
# Build program. |
env.Program(target = target_name + '.elf', source = sources) |
# Create hex binary file. |
env.Command( |
target_name + '.hex', |
target_name + '.elf', |
env['OBJCOPY'] + ' -O ihex $SOURCE $TARGET' |
) |
AddMethod(Environment, BuildProject) |
""" |
Build library. |
""" |
def BuildLibrary(env, sources, target_name): |
# Build static library. |
env.StaticLibrary(target = target_name, source = sources) |
# Append LIBPATH and LIBS. |
env.Append(LIBPATH = [ '#build/libraries/' + target_name + '/' + env['NAME'] ]) |
env.Append(LIBS = [ target_name ]) |
AddMethod(Environment, BuildLibrary) |
""" |
Compute memory usage. |
""" |
def ComputeMemoryUsage(env, target_name): |
# Compute memory usage. |
env.Command( |
None, |
target_name + '.elf', |
env['SIZE'] + ' -C --mcu=' + env['MCU'] + ' $SOURCE' |
) |
AddMethod(Environment, ComputeMemoryUsage) |