signalLichtPWM
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:moodlight color-float software for Signal Board / Signal Licht hardware
signalLichtPWM
moodlight color-float software for Signal Board / Signal Licht hardware

Copyright (C) 2012 by  Christian Garbs 
licensed under the GNU GPL v3 or later


0xff quickstart
===============

1) connect Signal Board + Signal Licht via USB
2) reset Signal Board
3) $ make pwm-licht-3.flash
4) enjoy


0x00 contents
=============

  1 - motivation
  2 - usage
  3 - status
  4 - links


0x01 motivation
===============

Members of the Chaos Computer Club Hannover Leitstelle 511 e.V. have
created a small modular ATmega developmend board.  It consists of a
base board (the Signal Board) which contains the ATmega168 processor,
a USB port for power and programming, a reset button and some
connectors.  Different shields for different funtions can be stacked
onto the base board.

Currently, only Signal Licht is finished: It contains some LEDs and
can be used as a moodlight.

Both Signal Board and Signal Licht can be purchased at the C3H, but
there is one problem:  The official moodlight software is not finished
yet, so basically when you get your Signal Board and Signal Licht, it
does not do much.

This is where signalLichtPWM comes in: It provides a moodlight
functionality.

It also doubles as a way of showing how to use interrupts and to do
software PWM (only two colors on Signal Licht can be controlled
directly via ATmega hardware counters, the third color must be
controlled manually).



0x02 usage
==========

I expanded the Makefile to automatically compile and flash any C
source in the current directory.

To compile and flash "pwm-licht-3.c", just do

$ make pwm-licht-3.flash

This requires that the Signal Board is in programming mode (after
having pressed reset) and connected to your PC via USB.

Of course, you need the AVR cross compiling toolchain and correct
permissions to access the USB device, see the Signal Board project
homepage for info on this.

On Debian/Ubuntu, at least 'avr-libc', 'avrdude' and 'gcc-avr' are
needed.



0x03 status
===========

The C code works and is finished.  It is shown in different
development states to make it easier to learn and understand what's
done:

pwm-licht-1.c    dims blue + green LEDs to different levels
pwm-licht-2.c    slowly changes blue + green brightness
pwm-licht-3.c    complete moodlight with all three colors


I also tried to teach myself some AVR assembler and convert the C code
above to assembler:

pwm-licht-1.S    proven(?) working inside AVR Studio 4 debugger
pwm-licht-2.S    conversion not finished yet
pwm-licht-3.S    conversion not started yet

My main problem is that AVR Studio 4 and avr-as don't seem to expect
the same source code / assembler dialect.  I simply don't get my
assembler code to compile directly under Linux, only in AVR Studio.
I have not yet tried to write a binary generated by AVR Studio to my
Signal Board, so everything has only been tested inside the debugger.

If anybody can help on this assembler issue, please contact me.  And
if anybody is interested in the AVR Studio projects, I can add them to
this repository (if I still find them, that was years ago…).


0x04 links
==========

* signalLichtPWM homepage:
  https://github.com/mmitch/signalLichtPWM

* Signal Board project homepage:
  https://hannover.ccc.de/redmine/projects/signalboard/wiki  

* Signal Licht project homepage:
  https://hannover.ccc.de/redmine/projects/signallicht/wiki

* C3H homepage
  https://hannover.ccc.de

* a photo of my Signal Sound prototype, a different shield for making
  music (mostly software problems remain, the hardware works):
  https://www.cgarbs.de/blog/archives/1037-Hacking-Warpzone.html


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。