]> www.fi.muni.cz Git - bike-lights.git/log
bike-lights.git
11 years agopwmled.c: save error sum between mode switches
Jan "Yenya" Kasprzak [Fri, 7 Dec 2012 21:03:49 +0000 (22:03 +0100)]
pwmled.c: save error sum between mode switches

otherwise it leads to instability when during short blink the error
sum does not manage to increase the stride.

Also, use 32-bit ints to simplify the code and save some branches.

11 years agopwm.c: make it usable from non-atomic blocks
Jan "Yenya" Kasprzak [Thu, 6 Dec 2012 23:10:20 +0000 (00:10 +0100)]
pwm.c: make it usable from non-atomic blocks

11 years agopwm.c - remove unused code
Jan "Yenya" Kasprzak [Thu, 6 Dec 2012 20:38:03 +0000 (21:38 +0100)]
pwm.c - remove unused code

11 years agopwm.c: PLL clock enabling code
Jan "Yenya" Kasprzak [Thu, 6 Dec 2012 20:34:00 +0000 (21:34 +0100)]
pwm.c: PLL clock enabling code

- factored out from init_pwm() in order to be able to suspend PLL also
during normal operation
- use _delay_us(100) instead of _delay_ms(1) as recommended by datasheet
- disable PLL in susp_pwm()

11 years agofirmware: control logic moved to a separate module
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 16:37:53 +0000 (17:37 +0100)]
firmware: control logic moved to a separate module

- buttons.c now controls status LEDs only when setting parameters
- pattern.c:
can use NULL instead of off_pattern
has number_pattern() than can also set up inverted patterns
contains only number and boot patterns as static variables
can reload all patterns if some state changes
- ambient.c resets all patterns when ambient zone changes
- control.c:
- now contains almost all pattern strings, only those needed by
other modules are exported
- status LED and illumination LED can be controlled by buttons.c
- separate _pattern_select() function for each LED

11 years agoadc: always-running ADC
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:23:27 +0000 (11:23 +0100)]
adc: always-running ADC

Don't rely on the timer IRQ to start next round of ADC measurements,
start it immediately after the previous one finishes.

11 years agologging: consistent init function naming
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:13:15 +0000 (11:13 +0100)]
logging: consistent init function naming

11 years agopatterns: consistent init function naming
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:10:04 +0000 (11:10 +0100)]
patterns: consistent init function naming

11 years agoambient light: consistent init function naming
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:09:11 +0000 (11:09 +0100)]
ambient light: consistent init function naming

11 years agogpio: consistent init function naming
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:08:33 +0000 (11:08 +0100)]
gpio: consistent init function naming

11 years agopwmled: consistent init function naming
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:07:02 +0000 (11:07 +0100)]
pwmled: consistent init function naming

11 years agogpio: rework
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 10:05:36 +0000 (11:05 +0100)]
gpio: rework

use correct swtiching between pin input and output
(as per the datasheet, section 10.1.2),
remove old logic of wakeup LED notifications

11 years agobuttons, wakeup rework
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 09:58:31 +0000 (10:58 +0100)]
buttons, wakeup rework

Set up all the pin-change interrupts even for shutdown,
fix the old pins used in the code (main.c),
factor out waiting for button release from main.c to buttons.c,
fix the status LED notification during wake-up.

11 years agopwmled.c: rework
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 01:23:45 +0000 (02:23 +0100)]
pwmled.c: rework

Probing and time-averaging works, but several corner cases need to be
polished.

11 years agomake timer faster, sub-1 LSB PWM values need it
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 01:22:58 +0000 (02:22 +0100)]
make timer faster, sub-1 LSB PWM values need it

otherwise, the step-up blinks with low pwm settings

11 years agopattern.c: call pwmled.c unconditionally
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 01:14:57 +0000 (02:14 +0100)]
pattern.c: call pwmled.c unconditionally

- no not query whether the LED is alive - pwmled.c will handle this
in that case.

11 years agopattern.c: mode1_pattern out of modes 1 and 2 instead of 1 and 4
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 01:14:30 +0000 (02:14 +0100)]
pattern.c: mode1_pattern out of modes 1 and 2 instead of 1 and 4

11 years agoadc: measure gain stage offset _slowly_
Jan "Yenya" Kasprzak [Fri, 30 Nov 2012 01:12:05 +0000 (02:12 +0100)]
adc: measure gain stage offset _slowly_

use running sum of 1<<6 measurements, and do only one measurement
per loop in order to not disturb other measurements. Also, do not log
timer overruns for ADC, as we do most of the processing in ADC IRQs now.

11 years agopwm.c: typo fixes
Jan "Yenya" Kasprzak [Thu, 29 Nov 2012 20:07:51 +0000 (21:07 +0100)]
pwm.c: typo fixes

11 years agofirmware: emulate higher resolution of PWM
Jan "Yenya" Kasprzak [Thu, 29 Nov 2012 13:36:45 +0000 (14:36 +0100)]
firmware: emulate higher resolution of PWM

Emulate the sub-1 LSB resolution of PWM by updating the PWM values
in the timer interrupt routine

11 years agoadc.c: keep ADC enabled
Jan "Yenya" Kasprzak [Thu, 29 Nov 2012 13:05:08 +0000 (14:05 +0100)]
adc.c: keep ADC enabled

12 years agopwmled: more logging
Jan "Yenya" Kasprzak [Thu, 22 Nov 2012 22:00:00 +0000 (23:00 +0100)]
pwmled: more logging

12 years agopwmled: remove old unused function
Jan "Yenya" Kasprzak [Thu, 22 Nov 2012 21:26:08 +0000 (22:26 +0100)]
pwmled: remove old unused function

12 years agoambient: new zones
Jan "Yenya" Kasprzak [Thu, 22 Nov 2012 00:11:31 +0000 (01:11 +0100)]
ambient: new zones

12 years agobuttons.c: param setup fixes
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 23:58:01 +0000 (00:58 +0100)]
buttons.c: param setup fixes

12 years agopatterns: zero pattern
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 23:57:03 +0000 (00:57 +0100)]
patterns: zero pattern

similar to off, but does not last forever

12 years agopwmled: regulation using sum of differences
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 23:34:48 +0000 (00:34 +0100)]
pwmled: regulation using sum of differences

12 years agoadc: log missed timer interrupts
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 23:28:29 +0000 (00:28 +0100)]
adc: log missed timer interrupts

12 years agopattern.c: remove unused function
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:15:36 +0000 (23:15 +0100)]
pattern.c: remove unused function

12 years agopatterns: use mode1_pattern for all PWM LEDs for now
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:14:26 +0000 (23:14 +0100)]
patterns: use mode1_pattern for all PWM LEDs for now

12 years agobuttons.c: fix for setup timeout
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:12:31 +0000 (23:12 +0100)]
buttons.c: fix for setup timeout

we need to test whether the timeout is reached only when the setup
is in progress ;-)

12 years agolights.h: PWM_MAX for better measurements
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:08:22 +0000 (23:08 +0100)]
lights.h: PWM_MAX for better measurements

The PWM frequency should be different than the ADC frequency (125 kHz)
in order to measure in different parts of the PWM cycle (I should have
added a low-pass filter to the ADC inputs, but whatever :-)

12 years agoadc: measure the offset of the gain-20 stage
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:07:17 +0000 (23:07 +0100)]
adc: measure the offset of the gain-20 stage

We measure the offset of the ADC1:ADC1 gain 20 stage and subtract it
from ADC0:ADC1 and ADC2:ADC1 differential readings.

12 years agoadc: only 4 measurements for single-ended pwm
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 22:06:04 +0000 (23:06 +0100)]
adc: only 4 measurements for single-ended pwm

12 years agobuttons: init state when suspended during user params setup
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 20:12:26 +0000 (21:12 +0100)]
buttons: init state when suspended during user params setup

12 years agomain.c: disable also the analog comparator
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 17:14:09 +0000 (18:14 +0100)]
main.c: disable also the analog comparator

12 years agoadc: average several measurements
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 17:10:40 +0000 (18:10 +0100)]
adc: average several measurements

Also do not define the MUX values in the table in order to be able
to set also GSEL and ADMUX5 if needed.

Disable the ADC between the conversions.

12 years agofirmware: button/status LEDs
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 16:06:20 +0000 (17:06 +0100)]
firmware: button/status LEDs

(maybe the status led handling should be done in a separate module?)

12 years agopatterns: PATTERN_FOREVER
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 15:30:08 +0000 (16:30 +0100)]
patterns: PATTERN_FOREVER

12 years agofirmware: buttons-press and pwrdown rework
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 15:05:37 +0000 (16:05 +0100)]
firmware: buttons-press and pwrdown rework

Reworked short and long button presses. The long press is now also
reported only _after_ release, which allows us to simplify the power-down
case in buttons.c, and even in main.c.

12 years agofirmware/buttons.c: preliminary user params setup
Jan "Yenya" Kasprzak [Wed, 21 Nov 2012 14:32:21 +0000 (15:32 +0100)]
firmware/buttons.c: preliminary user params setup

12 years agopwmled.c: use mA-based values instead of PWM value-based
Jan "Yenya" Kasprzak [Sat, 17 Nov 2012 22:34:41 +0000 (23:34 +0100)]
pwmled.c: use mA-based values instead of PWM value-based

12 years agopins.txt: current ranges for 0.033 Ohm sensing resistor
Jan "Yenya" Kasprzak [Sat, 17 Nov 2012 21:58:15 +0000 (22:58 +0100)]
pins.txt: current ranges for 0.033 Ohm sensing resistor

12 years agofirmware/battery: init function, new resistor sizes
Jan "Yenya" Kasprzak [Sat, 17 Nov 2012 21:21:35 +0000 (22:21 +0100)]
firmware/battery: init function, new resistor sizes

12 years agofirmware: move PWM_MAX to lights.h
Jan "Yenya" Kasprzak [Sat, 17 Nov 2012 21:15:46 +0000 (22:15 +0100)]
firmware: move PWM_MAX to lights.h

12 years agoadc.c: MUX for LED 3 is on its final position
Jan "Yenya" Kasprzak [Sat, 17 Nov 2012 13:00:33 +0000 (14:00 +0100)]
adc.c: MUX for LED 3 is on its final position

12 years agopattern.c: make patterns accessible from other modules
Jan "Yenya" Kasprzak [Wed, 14 Nov 2012 00:11:36 +0000 (01:11 +0100)]
pattern.c: make patterns accessible from other modules

12 years agopattern.c: start numeric pattern with pause
Jan "Yenya" Kasprzak [Mon, 12 Nov 2012 22:51:55 +0000 (23:51 +0100)]
pattern.c: start numeric pattern with pause

12 years agoMakefile: schematics file printing
Jan "Yenya" Kasprzak [Tue, 30 Oct 2012 15:41:15 +0000 (16:41 +0100)]
Makefile: schematics file printing

The image.scm file taken from geda sources, in order to be independent
on actual geda install directories.

12 years agoschematics: .gitignore web images
Jan "Yenya" Kasprzak [Tue, 30 Oct 2012 15:41:01 +0000 (16:41 +0100)]
schematics: .gitignore web images

12 years agobattery voltage sensor
Jan "Yenya" Kasprzak [Mon, 12 Nov 2012 22:47:06 +0000 (23:47 +0100)]
battery voltage sensor

12 years agonum_pattern: longer delay
Jan "Yenya" Kasprzak [Sun, 11 Nov 2012 20:21:14 +0000 (21:21 +0100)]
num_pattern: longer delay

12 years agoAmbient light values for 300K/1M5 resistors
Jan "Yenya" Kasprzak [Sun, 11 Nov 2012 20:10:47 +0000 (21:10 +0100)]
Ambient light values for 300K/1M5 resistors

12 years agofirmware: move buttons and GPIO LEDs
Jan "Yenya" Kasprzak [Sun, 11 Nov 2012 18:17:27 +0000 (19:17 +0100)]
firmware: move buttons and GPIO LEDs

Move buttons to PA3, PA4, and GPIO LEDs to PB0,2,4,6 (as in schematics).

12 years agoschematics/.gitignore
Jan "Yenya" Kasprzak [Tue, 30 Oct 2012 15:32:17 +0000 (16:32 +0100)]
schematics/.gitignore

12 years agoMakefile: make gerber, make fab
Jan "Yenya" Kasprzak [Tue, 30 Oct 2012 15:31:59 +0000 (16:31 +0100)]
Makefile: make gerber, make fab

12 years agoITEAD studio order number gerber-fab-20121029-1711
Jan "Yenya" Kasprzak [Mon, 29 Oct 2012 15:12:44 +0000 (16:12 +0100)]
ITEAD studio order number

12 years agopcb: design rule check fixes
Jan "Yenya" Kasprzak [Mon, 29 Oct 2012 14:12:26 +0000 (15:12 +0100)]
pcb: design rule check fixes

- make signal-sized via anulus 10 mils
- make silk element lines 10 mils

12 years agoMakefile for creating the web pages
Jan "Yenya" Kasprzak [Mon, 29 Oct 2012 10:30:05 +0000 (11:30 +0100)]
Makefile for creating the web pages

12 years agoschematics: display the name of the MCP14628 chips
Jan "Yenya" Kasprzak [Mon, 29 Oct 2012 10:29:46 +0000 (11:29 +0100)]
schematics: display the name of the MCP14628 chips

12 years agopcb: name of the layout
Jan "Yenya" Kasprzak [Mon, 29 Oct 2012 09:01:03 +0000 (10:01 +0100)]
pcb: name of the layout

12 years agopcb: more optimizations
Jan "Yenya" Kasprzak [Sun, 28 Oct 2012 23:08:03 +0000 (00:08 +0100)]
pcb: more optimizations

12 years agopcb: via clearance enhanced, pin sizes fixed
Jan "Yenya" Kasprzak [Sun, 28 Oct 2012 22:23:28 +0000 (23:23 +0100)]
pcb: via clearance enhanced, pin sizes fixed

12 years agoPCB mounting holes
Jan "Yenya" Kasprzak [Sun, 28 Oct 2012 13:02:28 +0000 (14:02 +0100)]
PCB mounting holes

12 years agoconnectors renamed, component orientation labeled
Jan "Yenya" Kasprzak [Fri, 26 Oct 2012 22:26:55 +0000 (00:26 +0200)]
connectors renamed, component orientation labeled

12 years agoPCB: first fully routed version
Jan "Yenya" Kasprzak [Fri, 26 Oct 2012 21:50:12 +0000 (23:50 +0200)]
PCB: first fully routed version

12 years agoUSBASP pinout fixed
Jan "Yenya" Kasprzak [Fri, 26 Oct 2012 21:49:53 +0000 (23:49 +0200)]
USBASP pinout fixed

12 years agoschematics: more routing of PCB
Jan "Yenya" Kasprzak [Fri, 26 Oct 2012 00:07:05 +0000 (02:07 +0200)]
schematics: more routing of PCB

12 years agopcb: wip routed step-down 3
Jan "Yenya" Kasprzak [Wed, 24 Oct 2012 23:00:29 +0000 (01:00 +0200)]
pcb: wip routed step-down 3

12 years agoschematics: fix for dual-drain MOSFET
Jan "Yenya" Kasprzak [Wed, 24 Oct 2012 22:33:30 +0000 (00:33 +0200)]
schematics: fix for dual-drain MOSFET

12 years agoPCB: new placement prepared for fat routes
Jan "Yenya" Kasprzak [Wed, 24 Oct 2012 21:53:00 +0000 (23:53 +0200)]
PCB: new placement prepared for fat routes

12 years agoSchematics: jumper for disconnecting voltage reguator
Jan "Yenya" Kasprzak [Wed, 24 Oct 2012 17:09:10 +0000 (19:09 +0200)]
Schematics: jumper for disconnecting voltage reguator

12 years agoconnectors in schematics reworked
Jan "Yenya" Kasprzak [Tue, 23 Oct 2012 23:35:01 +0000 (01:35 +0200)]
connectors in schematics reworked

12 years agoFirst PCB version
Jan "Yenya" Kasprzak [Tue, 23 Oct 2012 06:20:33 +0000 (08:20 +0200)]
First PCB version

12 years agoFootprint for SMB diode
Jan "Yenya" Kasprzak [Mon, 22 Oct 2012 19:12:03 +0000 (21:12 +0200)]
Footprint for SMB diode

12 years agolights.sch: footprints and values added
Jan "Yenya" Kasprzak [Mon, 22 Oct 2012 15:27:39 +0000 (17:27 +0200)]
lights.sch: footprints and values added

12 years agoFingerprint for fuse
Jan "Yenya" Kasprzak [Mon, 22 Oct 2012 15:27:24 +0000 (17:27 +0200)]
Fingerprint for fuse

12 years agolights.prj: project file for gsch2pcb
Jan "Yenya" Kasprzak [Mon, 22 Oct 2012 15:26:48 +0000 (17:26 +0200)]
lights.prj: project file for gsch2pcb

12 years agolights.sch: refdes added to all components
Jan "Yenya" Kasprzak [Fri, 19 Oct 2012 21:53:03 +0000 (23:53 +0200)]
lights.sch: refdes added to all components

12 years agoschematics: second step-down merged
Jan "Yenya" Kasprzak [Fri, 5 Oct 2012 21:44:08 +0000 (23:44 +0200)]
schematics: second step-down merged

12 years agoschematics: one step-down converter integrated into main
Jan "Yenya" Kasprzak [Thu, 4 Oct 2012 22:21:56 +0000 (00:21 +0200)]
schematics: one step-down converter integrated into main

12 years agoschematics: integrate power module
Jan "Yenya" Kasprzak [Thu, 4 Oct 2012 21:36:07 +0000 (23:36 +0200)]
schematics: integrate power module

Without power switch and MOSFET, the power module is simpler, so let's
integrate it to the main schematics.

Author and license added to the description.

Deleted the connectors which need to be reworked.

12 years agomain.c: allow only long keypress to wake us
Jan "Yenya" Kasprzak [Wed, 3 Oct 2012 19:33:46 +0000 (21:33 +0200)]
main.c: allow only long keypress to wake us

12 years agopower-off function
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 20:23:08 +0000 (22:23 +0200)]
power-off function

TODO: factor it out from main.c, probably.

12 years agogpio: suspend function, status poweroff led
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 20:22:10 +0000 (22:22 +0200)]
gpio: suspend function, status poweroff led

12 years agogpio: port A/B fix
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 20:21:29 +0000 (22:21 +0200)]
gpio: port A/B fix

12 years agopatterns for testing
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 20:11:43 +0000 (22:11 +0200)]
patterns for testing

12 years agohigher limit for pwm max
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 20:10:46 +0000 (22:10 +0200)]
higher limit for pwm max

12 years agotmr: suspend function
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 19:57:14 +0000 (21:57 +0200)]
tmr: suspend function

12 years agopwm: suspend function
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 19:57:05 +0000 (21:57 +0200)]
pwm: suspend function

12 years agoadc: suspend function
Jan "Yenya" Kasprzak [Sun, 30 Sep 2012 19:56:41 +0000 (21:56 +0200)]
adc: suspend function

12 years agogpio leds according to new pins.txt
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 21:34:31 +0000 (23:34 +0200)]
gpio leds according to new pins.txt

12 years agobuttons according to pins.txt
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 21:01:20 +0000 (23:01 +0200)]
buttons according to pins.txt

12 years agopwm: 16-bit pwm and adc values
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 20:51:12 +0000 (22:51 +0200)]
pwm: 16-bit pwm and adc values

12 years agodelete pwm_off(), use pwm_set instead
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 20:33:02 +0000 (22:33 +0200)]
delete pwm_off(), use pwm_set instead

12 years agoadc setting according to new pins.txt
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 20:32:02 +0000 (22:32 +0200)]
adc setting according to new pins.txt

12 years agoAmbient values for 15k and 1M5 resistors
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 20:24:46 +0000 (22:24 +0200)]
Ambient values for 15k and 1M5 resistors

12 years agonew lights measurement
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 16:56:18 +0000 (18:56 +0200)]
new lights measurement

12 years agoWIP step-up integrated into main schematics
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 16:08:53 +0000 (18:08 +0200)]
WIP step-up integrated into main schematics

12 years agoSchematics modifications
Jan "Yenya" Kasprzak [Fri, 14 Sep 2012 15:28:12 +0000 (17:28 +0200)]
Schematics modifications