Nico Tonnhofer
b62bad1b0a
stm32: rename __ARM_STM32F411__ to __ARM_STM32__
2019-04-17 21:42:28 +02:00
Nico Tonnhofer
75af589f43
STM32F411: comment out analog_mask and adc_channel for STM32
2017-03-03 18:54:57 +01:00
Nico Tonnhofer
4cb6f85e3c
STM32F411: implement analog-stm32.c
...
It's not that easy like LPC. We need later an DMA to control all ADCs, because there is only one register to read the ADC.
2017-03-03 18:54:57 +01:00
Nico Tonnhofer
c3a8b7fd06
ARM: rename analog-arm.c to add more ARMs
2017-03-03 18:54:57 +01:00
Markus Hitter
7805e741cd
analog-arm.c: read not by ADC channel number, but by Teacup number.
...
Analog reading should be complete by now :-)
2015-08-12 14:26:37 +02:00
Markus Hitter
708289714f
analog-arm.c: use configured analog pins, not two fixed ones.
...
An obvious neccessity, just not done before to show better how
stuff works.
2015-08-12 14:26:37 +02:00
Markus Hitter
f81000a4b6
ARM: implement analog-arm.c.
...
Very simple, because the LPC1114 features a hardware scan mode,
which automatically scans a given set of pins in freerunning mode
and stores all the values separately. No need for an interrupt!
Not yet done: configure not PIO1_0 and PIO1_1, but the pins
actually defined in the board file.
For testing, add this to ifclock(clock_flag_1s) in clock.c:
uint8_t i;
for (i = 0; i <= 7; i++) {
sersendf_P(PSTR("%lu "), analog_read(i));
}
serial_writechar('\n');
This should print all 8 ADC values repeatedly. Only two pins are
actually set up, these values should change depending on the
thermistor temperature. More precisely: depending on the voltage
on the pin.
2015-08-12 14:26:37 +02:00
Markus Hitter
56f6b381fd
ARM: split out analog-avr.c from analog.c.
2015-08-12 14:26:37 +02:00
Markus Hitter
370bb9f93c
Move pin I/O macros from arduino.h to pinio.h.
...
arduino.h is now free of function definitions.
2015-08-12 14:26:34 +02:00
Phil Hord
c7150445af
Zungmann's fixes to compile simulator on Mac OS X, part 2.
...
Here: .bss section syntax is different.
2014-03-04 19:57:48 +01:00
Phil Hord
21e5343552
Add config.h wrapper to simplify test automation
...
Test code which wants to customize config.h can do so without
touching config.h itself by wrapping config.h in a macro variable
which is passed in to the compiler. It defaults to "config.h" if
no override is provided.
This change would break makefile dependency checking since the selection
of a different header file on the command line is not noticed by make
as a build-trigger. To solve this, we add a layer to the BUILDDIR path
so build products are now specific to the USER_CONFIG choice if it is
not "config.h".
2014-03-04 19:56:23 +01:00
Markus Hitter
0c100fe5f8
According to avr-libc documentation, ISR() handles SREG its self.
2013-10-27 20:01:51 +01:00
Markus Hitter
59599a3552
analog.c: use atomic macros.
2013-10-27 20:01:51 +01:00
Markus Hitter
97a663a00c
analog.c: trim down analog values storage.
...
Saves 10 bytes RAM and 16 bytes binary size on an 1284P (8 ADC
channels) running two sensors. Should also be a bit faster, as one
loop runs fewer iterations.
Also, checking for NUM_TEMP_SENSORS was a mistake, as temp sensors
_not_ using an analog pin exist. Extreme case is, temp sensors
exist, but zero ADC channels are used.
2012-09-29 23:00:11 +02:00
Markus Hitter
bfad6f12cd
analog.c: put in a few lessons learned.
...
No functional change.
2012-09-29 22:58:25 +02:00
Mikko Sivulainen
bfe5e6f2fc
Fixed ADC channel handling.
...
ADC pin is not the same as ADC channel in atmega1280/2560.
2012-09-29 22:57:55 +02:00
Markus Hitter
7528037d4e
Save status register on each interrupt.
...
Costs 28 bytes binary size and two CPU cycles per interrupt,
at the advantage of getting rid of possible well hidden bugs.
2012-03-04 19:02:38 +01:00
Bas Laarhoven
9cc2bb9125
Also set DDR mask for upper 8 channels if using a 16-bit mux.
2011-08-19 17:47:32 +02:00
Bas Laarhoven
dfbaed16b9
Just added some comments.
2011-08-16 13:56:00 +02:00
Michael Moon
a262d72788
fix 'MUX5 not declared' compile error for chips that don't have A8-15
2011-06-22 11:23:19 +10:00
Michael Moon
2013effd9c
allow larger chips to use analog channels 8-15
2011-06-18 13:28:47 +10:00
Markus Amsler
e937b052af
Add support for multiple thermistor tables.
...
DEFINE_TEMP_SENSOR takes one additional argument. For TT_THERMISOR you can specify there which thermistor table to use.
2011-04-12 20:00:18 +02:00
Michael Moon
0dc7d77885
Massive Doxygen documentation addition
...
'make doc' then point your browser at doc/html/
Needs plenty of cleanup and polishing, but the main bulk is here
even documents your configuration! ;)
2011-03-22 01:34:36 +11:00
Stephan Walter
eecf3af9f1
analog mask calculated automagically
2011-02-21 13:57:51 +11:00
Markus Amsler
bcd47e90b0
Fix analog reading of channel 0 if another channel is active.
2011-02-15 13:21:45 +11:00
Michael Moon
b5299c4d69
protect ANALOG_MASK from arithmetic errors via de-macro-isation
2011-02-07 20:47:32 +11:00
madscifi
a98886d236
Correctly set AIO_DDR register
...
Signed-off-by: Michael Moon <triffid.hunter@gmail.com>
2011-01-24 11:32:00 +11:00
Michael Moon
096d7dfdf3
Merge release-candidate-triffid branch
2011-01-07 23:09:13 +11:00
Michael Moon
4b41a5eeab
use avr-libc atomic stuff instead of manual SREG manipulation
2010-10-21 11:05:56 +11:00
Michael Moon
97c5218304
reduce analog subsystem use of interrupts
2010-10-20 17:54:36 +11:00
dps.lwk
d83c80e383
Added ATmega1280 pin map for Arduino Mega
2010-10-10 13:51:00 +01:00
Michael Moon
e78381c56d
Move configuration to config.h.dist
2010-09-27 09:20:07 +10:00
Michael Moon
d56ff39cb3
atomic 16-bit operation in analog.c
2010-09-16 21:42:00 +10:00
Michael Moon
b80c5ea7b5
UNTESTED support for thermistor and AD595
2010-09-13 17:14:12 +10:00
Michael Moon
f2b6f536d7
more work on analog system, still untested
2010-09-12 13:31:41 +10:00
Michael Moon
16069d9ffb
added FIXME tag
2010-09-10 11:25:11 +10:00
Michael Moon
6a58efbfa4
try out analog stuff, probably needs more work
2010-08-24 15:49:21 +10:00
Michael Moon
488e42605b
skeleton of analog read subsystem
2010-08-16 14:06:37 +10:00