Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > sci.electronics.design > #447745
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | sci.electronics.design |
| Subject | Re: Arduino / compilers on uC |
| Date | 2017-02-15 17:15 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <o81uo9$6up$1@dont-email.me> (permalink) |
| References | (1 earlier) <c_adnU0ZfJfJtD7FnZ2dnUU7-UOdnZ2d@giganews.com> <13338043-8eab-470f-b41d-966b1acc03dc@googlegroups.com> <o815fq$d18$1@dont-email.me> <d4442049-ab60-4633-a881-a4f7b09eee53@googlegroups.com> <o81qdt$n4p$1@dont-email.me> |
On 15/02/17 16:02, David Brown wrote:
> On 15/02/17 14:57, dagmargoodboat@yahoo.com wrote:
>> On Wednesday, February 15, 2017 at 4:04:44 AM UTC-5, David Brown wrote:
>>> On 14/02/17 22:46, dagmargoodboat@yahoo.com wrote:
>>>> On Tuesday, February 14, 2017 at 10:59:24 AM UTC-5, Tim Wescott wrote:
>>>>> On Mon, 06 Feb 2017 15:43:44 -0800, dagmargoodboat wrote:
>>>>>
> <snip>
>>>>>
>>>>> I haven't read the whole thread, but clearly there are one or two
>>>>> elements missing from "get a trustworthy compiler and a trustworthy set
>>>>> of libraries, then trust the optimizer". (And it's not "trust the
>>>>> optimizer").
>>>>
>>>> I was mostly posting about the output quality of the tool chain, and only
>>>> incidentally about the compiler bug (that seems to have captured all the
>>>> attention).
>>>
>>> And you were wrong on both accounts. You got inefficient code, and you
>>> had a bug in your code. That's fair enough - not many people write
>>> perfect code every time, and sometimes it is hard to figure out what
>>> went wrong. But you blamed the toolchain quality and compiler bugs -
>>> the toolchain (compiler, library, assembler, linker) is not at fault here.
>>>
>>> First, your inefficient code for port output is due to the Arduino
>>> system's abstraction layers.
>>
>> No it isn't. The example I gave was, that's true. But having looked at
>> more of the generated code, it's not particularly efficient on this
>> 8-bit machine.
>
> There are certainly some areas where the code generated by avr-gcc is
> not as good as it could be. Part of that is limitations of the AVR
> architecture (inefficient pointers, no SP+index addressing), part of it
> is limitations of the gcc architecture (such as register allocation
> being done in "int" sizes, leading to sub-optimal register usage for
> 8-bit data), and part of it is due to there only being a few people
> working on the avr port of gcc, and they simply don't have the capacity
> to tune the compiler as well as they would like. It is also the case
> that code generation can be quite sensitive to a number of compiler
> options - perhaps the Arduino software hides these.
>
> Anyway, all I can say for sure here is that the inefficient code sample
> you gave is primarily due to Arduino's abstraction layers, and that when
> I change a port output in my own AVR C code, the generated assembly is
> optimal.
>
>>
>>> That is part of the cost of using the
>>> flexible Arduino system. You can well say that the Arduino libraries
>>> are less efficient than they could be, or less well documented than they
>>> should be - I have no argument there. But you cannot compare assembly
>>> for setting a fixed output pin to code that uses run-time configurable
>>> choices of pins. It is an apples to grocery shop comparison. For the
>>> same task - turning on a fixed output pin - the compiler will generate
>>> the same optimal code as you would write by hand in assembly.
>>>
>>> Secondly, your "compiler error" was your misunderstanding of how "bool"
>>> works in C++ (or _Bool in C), leading to a mistake in sanitizing data
>>> from an external source. Again, the Arduino system may have made it
>>> harder to figure out the problem, but the compiler was not at fault.
>>>
>>> Development is hard - sometimes we hit problems that we do not
>>> understand. But the way forward is to ask "why is this happening?", not
>>> complain "/I/ can't be wrong - the tools are bad".
>>>
>>>>
>>>> I still maintain the compiler's wrong to only let me modify (at most) one
>>>> bit of a boolean, but then later *itself* use all eight bits to decide if
>>>> the variable is 'true' or 'false.'
>>>
>>> No, you are wrong here. Complain to the C standards committee that
>>> wrote C99, or the C++ designers that introduced "bool" (which C's _Bool
>>> copies).
>>
>> Assume 'b' contains 0xff. What should the following code segment print?
>>
>
> I can't assume "b" contains 0xff, because at this point there is no "b".
>
>> bool b;
>> word w;
>>
>> w = (word) b;
>> w &= 1;
>>
>> println(w);
>
> If this is within a function, then "b" is not initialised - I expect to
> see a warning indicating this on the "w = (word) b;" line. (If the
> Arduino software does not make it extremely simple to enable -Wall
> warnings, then it is a poor system indeed.)
>
> I expect "w &= 1;" to do nothing, assuming optimisation is enabled.
>
> The call to "println(w)" will therefore write whatever happened to be in
> the registers at the time. Of course, the compiler is also free to omit
> the call entirely - the program has undefined behaviour, and the
> compiler can do anything it wants.
>
> What you do not understand here is that there is /no/ way to make "b"
> contain 0xff in a legal C program. It can't happen. You have to cheat
> - and if you cheat, you cannot expect the compiler to see that. It is
> /your/ responsibility to ensure that a variable is properly initialised
> before you attempt to read from it. This can be done by normal C
> initialisation or assignment. If you use pointer casts, memcpy, inline
> assembly, unions, and other methods to set the variable such a way that
> you have put an invalid value in the variable, then your program is
> broken - /you/ broke it by allowing undefined behaviour. You cannot
> expect the compiler to figure out how /you/ broke the rules behind its
> back, and then to take that into account.
>
>
>
Just for fun, I've downloaded the latest Atmel packaging of avr-gcc
(version 3.5.4, with avr-gcc version 4.9.2). I tested this source,
compiled with:
avr-gcc -c b.c -Wall -Wextra -Os -Wa,-ahlsd=b.lst
Look at the generated object code. No matter how much you add
"volatile", or try to muck about with forcing an invalid value into "b",
the "w &= 1;" is omitted as redundant. The compiler generates a warning
message for test1:
b.c: In function 'test1':
b.c:13:4: warning: 'b' is used uninitialized in this function
[-Wuninitialized]
w = (word) b;
The listing file below shows the generated assembly. It is entirely
correct, with the only inefficiency being the loading of r24:r25 with 0
in test1 (the compiler could have skipped that).
// b.c
#include <stdbool.h>
#include <stdint.h>
typedef uint16_t word;
extern void println(word w);
void test1(void) {
bool b;
word w;
w = (word) b;
w &= 1;
println(w);
}
void test2(void) {
extern bool bx;
word w;
w = (word) bx;
w &= 1;
println(w);
}
void test3(void) {
extern volatile bool bv;
word w;
w = (word) bv;
w &= 1;
println(w);
}
void test4(void) {
extern volatile bool bv;
word w;
*(volatile uint8_t*) &bv = 2;
w = (word) bv;
w &= 1;
println(w);
}
void test5(void) {
volatile union { bool b; uint8_t u; } bu;
word w;
bu.u = 2;
w = (word) bu.b;
w &= 1;
println(w);
}
GAS LISTING /tmp/ccVWdIy0.s page 1
1 .file "b.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global test1
10 test1:
11 /* prologue: function */
12 /* frame size = 0 */
13 /* stack size = 0 */
14 .L__stack_usage = 0
15 0000 80E0 ldi r24,0
16 0002 90E0 ldi r25,0
17 0004 00C0 rjmp println
19 .global test2
21 test2:
22 /* prologue: function */
23 /* frame size = 0 */
24 /* stack size = 0 */
25 .L__stack_usage = 0
26 0006 8091 0000 lds r24,bx
27 000a 90E0 ldi r25,0
28 000c 00C0 rjmp println
30 .global test3
32 test3:
33 /* prologue: function */
34 /* frame size = 0 */
35 /* stack size = 0 */
36 .L__stack_usage = 0
37 000e 8091 0000 lds r24,bv
38 0012 90E0 ldi r25,0
39 0014 00C0 rjmp println
41 .global test4
43 test4:
44 /* prologue: function */
45 /* frame size = 0 */
46 /* stack size = 0 */
47 .L__stack_usage = 0
48 0016 82E0 ldi r24,lo8(2)
49 0018 8093 0000 sts bv,r24
50 001c 8091 0000 lds r24,bv
51 0020 90E0 ldi r25,0
52 0022 00C0 rjmp println
54 .global test5
56 test5:
57 0024 CF93 push r28
58 0026 DF93 push r29
59 0028 1F92 push __zero_reg__
60 002a CDB7 in r28,__SP_L__
61 002c DEB7 in r29,__SP_H__
62 /* prologue: function */
63 /* frame size = 1 */
64 /* stack size = 3 */
65 .L__stack_usage = 3
66 002e 82E0 ldi r24,lo8(2)
GAS LISTING /tmp/ccVWdIy0.s page 2
67 0030 8983 std Y+1,r24
68 0032 8981 ldd r24,Y+1
69 0034 90E0 ldi r25,0
70 0036 00D0 rcall println
71 /* epilogue start */
72 0038 0F90 pop __tmp_reg__
73 003a DF91 pop r29
74 003c CF91 pop r28
75 003e 0895 ret
77 .ident "GCC: (AVR_8_bit_GNU_Toolchain_3.5.4_1709)
4.9.2"
GAS LISTING /tmp/ccVWdIy0.s page 3
DEFINED SYMBOLS
*ABS*:0000000000000000 b.c
/tmp/ccVWdIy0.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccVWdIy0.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccVWdIy0.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccVWdIy0.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccVWdIy0.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccVWdIy0.s:10 .text:0000000000000000 test1
/tmp/ccVWdIy0.s:21 .text:0000000000000006 test2
/tmp/ccVWdIy0.s:32 .text:000000000000000e test3
/tmp/ccVWdIy0.s:43 .text:0000000000000016 test4
/tmp/ccVWdIy0.s:56 .text:0000000000000024 test5
UNDEFINED SYMBOLS
println
bx
bv
Back to sci.electronics.design | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 15:43 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 10:58 +1100
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-06 19:09 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 18:30 -0800
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-06 21:43 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 19:02 -0800
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-06 23:26 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 21:05 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 13:55 +1100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 20:00 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 19:31 +1100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 10:29 +0100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-07 07:39 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-08 12:24 +0100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 08:36 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-10 08:15 +1100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 15:37 +0100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 15:35 +0100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-07 08:05 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-08 12:30 +0100
Re: Arduino / compilers on uC mrdarrett@gmail.com - 2017-02-06 15:59 -0800
Re: Arduino / compilers on uC Lasse Langwadt Christensen <langwadt@fonz.dk> - 2017-02-06 16:04 -0800
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 18:41 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 14:08 +1100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 20:14 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-07 08:00 +0000
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 05:42 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-09 15:07 +0100
Re: Arduino / compilers on uC Lasse Langwadt Christensen <langwadt@fonz.dk> - 2017-02-09 09:54 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-09 15:55 +0000
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 08:46 -0800
Re: Arduino / compilers on uC Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-09 14:42 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-11 06:54 -0800
Re: Arduino / compilers on uC pcdhobbs@gmail.com - 2017-02-11 07:31 -0800
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-11 07:59 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-11 17:01 +0000
Re: Arduino / compilers on uC pcdhobbs@gmail.com - 2017-02-11 12:52 -0800
Re: Arduino / compilers on uC krw@notreal.com - 2017-02-11 18:46 -0500
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-12 10:20 +1100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 16:07 +0100
Re: Arduino / compilers on uC Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-09 14:16 -0500
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-09 22:39 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 16:06 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-13 15:29 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 16:49 +0100
Re: Arduino / compilers on uC Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-13 10:55 -0500
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-13 17:09 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-14 09:49 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-13 16:07 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-14 10:01 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-14 09:49 +0000
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-17 04:21 +1100
Re: Arduino / compilers on uC pcdhobbs@gmail.com - 2017-02-16 14:47 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-17 00:17 +0000
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 19:49 +1100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 06:22 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 10:42 +0100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 06:57 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-09 16:12 +0100
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-10 08:24 +1100
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-06 19:08 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 18:47 -0800
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-06 21:51 -0500
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 20:39 -0800
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 20:55 -0800
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-07 20:05 +1100
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-08 12:26 -0500
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-08 12:32 -0500
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-09 08:31 +1100
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-09 08:21 +1100
Re: Arduino / compilers on uC Lasse Langwadt Christensen <langwadt@fonz.dk> - 2017-02-08 13:33 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-07 08:15 +0000
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-09 05:51 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-09 16:22 +0000
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-09 16:45 -0500
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-09 16:51 -0500
Re: Arduino / compilers on uC Clifford Heath <no.spam@please.net> - 2017-02-10 09:11 +1100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-09 22:45 +0000
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-15 10:11 -0500
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 10:57 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-07 08:07 +0000
Re: Arduino / compilers on uC rickman <gnuarm@gmail.com> - 2017-02-07 04:01 -0500
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-07 09:40 +0000
Re: Arduino / compilers on uC rickman <gnuarm@gmail.com> - 2017-02-07 05:52 -0500
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-07 11:26 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 12:58 +0100
Re: Arduino / compilers on uC Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-09 14:52 -0500
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-09 22:47 +0000
Re: Arduino / compilers on uC bitrex <bitrex@de.lete.earthlink.net> - 2017-02-09 14:00 -0500
Re: Arduino / compilers on uC Tim Wescott <seemywebsite@myfooter.really> - 2017-02-09 13:24 -0600
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 10:52 +0100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-07 10:50 +0100
Re: Arduino / compilers on uC rickman <gnuarm@gmail.com> - 2017-02-06 19:49 -0500
Re: Arduino / compilers on uC "David Eather" <eather@tpg.com.au> - 2017-02-07 12:45 +1000
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-06 18:51 -0800
Re: Arduino / compilers on uC "David Eather" <eather@tpg.com.au> - 2017-02-08 06:35 +1000
Re: Arduino / compilers on uC "David Eather" <eather@tpg.com.au> - 2017-02-08 06:44 +1000
Re: Arduino / compilers on uC M Philbrook <jamie_ka1lpa@charter.net> - 2017-02-07 17:11 -0500
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-08 12:40 +0100
Re: Arduino / compilers on uC pcdhobbs@gmail.com - 2017-02-08 07:01 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-08 17:25 +0100
Re: Arduino / compilers on uC jack4747@gmail.com - 2017-02-09 06:51 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-09 16:41 +0100
Re: Arduino / compilers on uC M Philbrook <jamie_ka1lpa@charter.net> - 2017-02-09 19:44 -0500
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 16:14 +0100
Re: Arduino / compilers on uC John Devereux <john@devereux.me.uk> - 2017-02-16 12:57 +0000
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-16 14:11 +0000
Re: Arduino / compilers on uC John Devereux <john@devereux.me.uk> - 2017-02-16 14:40 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-16 15:58 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-16 15:56 +0000
Re: Arduino / compilers on uC John Devereux <john@devereux.me.uk> - 2017-02-16 16:45 +0000
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-16 17:18 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-17 14:59 +0100
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-17 14:24 +0000
Re: Arduino / compilers on uC Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2017-02-17 21:07 +0200
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-17 20:16 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-17 23:28 +0100
Re: Arduino / compilers on uC Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-17 10:21 -0500
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-17 16:34 +0100
Re: Arduino / compilers on uC M Philbrook <jamie_ka1lpa@charter.net> - 2017-02-09 19:43 -0500
Re: Arduino / compilers on uC Tim Wescott <tim@seemywebsite.com> - 2017-02-10 10:41 -0600
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-11 07:06 -0800
Re: Arduino / compilers on uC Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-11 17:09 +0000
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-13 16:28 +0100
Re: Arduino / compilers on uC Tim Wescott <tim@seemywebsite.com> - 2017-02-14 09:59 -0600
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-14 13:46 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-15 10:04 +0100
Re: Arduino / compilers on uC dagmargoodboat@yahoo.com - 2017-02-15 05:57 -0800
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-15 16:02 +0100
Re: Arduino / compilers on uC David Brown <david.brown@hesbynett.no> - 2017-02-15 17:15 +0100
Re: Arduino / compilers on uC Tim Wescott <tim@seemywebsite.com> - 2017-02-16 14:19 -0600
csiph-web