Ron Evans 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								40f834d58f 
								
							 
						 
						
							
							
								
								avr: ADC with 0-1023 range  
							
							
							
						 
						
							2018-09-20 21:39:45 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dbb5ae5a23 
								
							 
						 
						
							
							
								
								avr: use i16 for lengths  
							
							
							
						 
						
							2018-09-20 20:52:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								45348bfc3e 
								
							 
						 
						
							
							
								
								examples: add hello world serial communication  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2018-09-19 22:38:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c0d1963d63 
								
							 
						 
						
							
							
								
								runtime/nrf: remove some leftover header files  
							
							
							
						 
						
							2018-09-18 20:45:02 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7c9a3d70bc 
								
							 
						 
						
							
							
								
								nrf: use correct ISA type for pca10040  
							
							... 
							
							
							
							No change to code size. 
							
						 
						
							2018-09-18 20:16:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c554c7c009 
								
							 
						 
						
							
							
								
								nrf: use assembly for nrf52, not nrf51  
							
							... 
							
							
							
							Slightly increase code size, but this is the more correct thing to do. 
							
						 
						
							2018-09-18 20:15:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								87963d3d5b 
								
							 
						 
						
							
							
								
								compiler: add -size flag to replace size utility  
							
							... 
							
							
							
							The size flag has two modes:
  -size=short: prints data basically equivalent to the `size` program.
  -size=full:  tries to determine sizes per package (not entirely
               accurate). 
							
						 
						
							2018-09-18 00:04:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8b94fe9205 
								
							 
						 
						
							
							
								
								avr: fix assembly comment regarding data/stack  
							
							
							
						 
						
							2018-09-17 20:51:41 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								db8c3479d6 
								
							 
						 
						
							
							
								
								compiler: give names to nameless globals  
							
							... 
							
							
							
							This should make it easier in the future to show a breakdown of which
packages consume text/data/bss. 
							
						 
						
							2018-09-17 20:41:48 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1f2af7d848 
								
							 
						 
						
							
							
								
								compiler: do not remove dead globals  
							
							... 
							
							
							
							These were not removed when they contain data, and will be removed by
LLVM anyway. 
							
						 
						
							2018-09-17 15:15:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b0aeaed635 
								
							 
						 
						
							
							
								
								compiler: allow a global to be defined multiple times  
							
							... 
							
							
							
							This is only possible when using compiler directives like the magic
_extern_ prefix on global variables. 
							
						 
						
							2018-09-17 15:14:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								77934f364f 
								
							 
						 
						
							
							
								
								avr: fix corrupted .data byte  
							
							... 
							
							
							
							The stack and the .data section shared the first byte, leading to
corruption of the first byte of .data. 
							
						 
						
							2018-09-17 15:10:52 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fc0ff3a987 
								
							 
						 
						
							
							
								
								avr: initial implementation for PWM  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com>
Edited slightly by Ayke van Laethem 
							
						 
						
							2018-09-17 14:03:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								94358959f5 
								
							 
						 
						
							
							
								
								compiler: fix unsafe.Sizeof and friends for AVR  
							
							... 
							
							
							
							This fixes runtime.printptr(). 
							
						 
						
							2018-09-16 20:42:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e04f0868ed 
								
							 
						 
						
							
							
								
								compiler: fix constant globals on AVR  
							
							... 
							
							
							
							Turn const globals into non-const globals, at least until pointers have
the correct address space attribute. 
							
						 
						
							2018-09-16 16:31:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a02426948b 
								
							 
						 
						
							
							
								
								avr: implement .data section  
							
							... 
							
							
							
							This doesn't completely work for some reason as the first character of
.data is corrupted, but otherwise it works. 
							
						 
						
							2018-09-16 16:26:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								39e3fe28db 
								
							 
						 
						
							
							
								
								avr: convert initialization from asm to Go  
							
							... 
							
							
							
							This increases code size by 1 instruction (2 bytes) because LLVM isn't
yet smart enough to recognize that it doesn't need to clear a register
to use 0: it can just use r1 which is always 0 according to the
convention. It makes initialization a lot easier to read, however. 
							
						 
						
							2018-09-16 15:03:48 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0d8a7e1666 
								
							 
						 
						
							
							
								
								avr: link with the GCC runtime library  
							
							... 
							
							
							
							This allows the use of some compiler-generated builtins that are
hopefully compatible with LLVM. Example: println(uint8(foo))
Code size is unchanged normally but of course compiler builtins will
increase code size when actually used (for example with division). 
							
						 
						
							2018-09-16 14:54:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a25e598463 
								
							 
						 
						
							
							
								
								compiler: truncate output files before writing  
							
							
							
						 
						
							2018-09-16 13:41:56 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								35fe24981f 
								
							 
						 
						
							
							
								
								runtime/unix: panic: call abort() instead of exit(2)  
							
							... 
							
							
							
							abort() will cause gdb to show a backtrace when running inside the
debugger, and abort() seems more appropriate anyway for critical errors. 
							
						 
						
							2018-09-16 13:01:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1484bb5c2c 
								
							 
						 
						
							
							
								
								all: basic support for the os package  
							
							... 
							
							
							
							The resulting binary is pretty big due to lacking optimizations
(probably because of interfaces), so that should be fixed. 
							
						 
						
							2018-09-16 13:01:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c237633d34 
								
							 
						 
						
							
							
								
								all: use a custom sync package  
							
							... 
							
							
							
							The sync package is strongly tied to the runtime, so it's easier to
implement a new one. Besides, it's pretty big so it's better to replace
it. 
							
						 
						
							2018-09-15 18:51:51 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								94b18e2d79 
								
							 
						 
						
							
							
								
								compiler: support integer convert in interpreter  
							
							
							
						 
						
							2018-09-15 18:47:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1d2e0cd259 
								
							 
						 
						
							
							
								
								compiler: don't show DebugRef with -dumpssa  
							
							
							
						 
						
							2018-09-15 18:45:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2a20c0c7f0 
								
							 
						 
						
							
							
								
								all: rewrite sleep function  
							
							... 
							
							
							
							time.Sleep now compiles on all systems, so lets use that.
Additionally, do a few improvements in time unit handling for the
scheduler. This should lead to somewhat longer sleep durations without
wrapping (on some platforms).
Some examples got smaller, some got bigger. In particular, code using
the scheduler got bigger and the blinky1 example got smaller (especially
on Arduino: 380 -> 314 bytes). 
							
						 
						
							2018-09-15 01:58:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1ac67cf8de 
								
							 
						 
						
							
							
								
								compiler: adding a few more ignored init calls  
							
							... 
							
							
							
							These calls are generated in the JavaScript target (syscall/js and
syscall with GOOS=js), but they are not used at the moment. So ignore
them until they're needed. 
							
						 
						
							2018-09-15 01:04:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								38efc5653d 
								
							 
						 
						
							
							
								
								compiler: support compile-time hashmap with int keys  
							
							
							
						 
						
							2018-09-15 01:03:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								152e12e4b0 
								
							 
						 
						
							
							
								
								all: implement iterating over hashmaps  
							
							... 
							
							
							
							Still no support for hashmaps > 8 entries, but this kind of works. 
							
						 
						
							2018-09-15 00:29:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5b4b6cfee2 
								
							 
						 
						
							
							
								
								compiler: use -dumpssa flag in interpreter  
							
							... 
							
							
							
							This is useful for debugging. 
							
						 
						
							2018-09-14 23:29:33 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								866a6edb5f 
								
							 
						 
						
							
							
								
								compiler: fix word size for AVR  
							
							... 
							
							
							
							Using a word size less than 4 led to typechecker errors. 
							
						 
						
							2018-09-14 21:36:51 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								327076da39 
								
							 
						 
						
							
							
								
								examples/test: add slice-a-slice test  
							
							
							
						 
						
							2018-09-14 21:02:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1387a1024d 
								
							 
						 
						
							
							
								
								examples/test: small cleanup  
							
							... 
							
							
							
							I forgot to remove some commented out code... 
							
						 
						
							2018-09-14 21:00:52 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								112f6dc01a 
								
							 
						 
						
							
							
								
								all: implement tinygo flash command  
							
							... 
							
							
							
							This will now just work:
    tinygo flash -target=arduino examples/blinky1 
							
						 
						
							2018-09-14 20:59:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6450daa3c8 
								
							 
						 
						
							
							
								
								runtime/cgo: go fmt  
							
							
							
						 
						
							2018-09-14 20:58:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								13633133a5 
								
							 
						 
						
							
							
								
								Makefile: simplify make fmt  
							
							... 
							
							
							
							There is no C source file anymore `go fmt` will complain about. 
							
						 
						
							2018-09-14 20:57:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								09cbd223c3 
								
							 
						 
						
							
							
								
								compiler: remove -runtime flag  
							
							... 
							
							
							
							It is not necessary anymore. 
							
						 
						
							2018-09-14 20:56:48 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c763e9f1a6 
								
							 
						 
						
							
							
								
								compiler: produce .hex files directly  
							
							
							
						 
						
							2018-09-14 20:27:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f41a8032e7 
								
							 
						 
						
							
							
								
								machine/dummy: add fake button pins  
							
							
							
						 
						
							2018-09-14 17:01:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								752332ff13 
								
							 
						 
						
							
							
								
								machine/nrf: implement reading GPIO pins  
							
							
							
						 
						
							2018-09-14 16:59:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ab6757fe11 
								
							 
						 
						
							
							
								
								avr: implement Get() function on AVR, and leave stubs for NRF and dummy machines  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2018-09-13 20:54:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ec50db729d 
								
							 
						 
						
							
							
								
								compiler: implement slicing slices  
							
							
							
						 
						
							2018-09-13 20:49:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5b3ef2c02f 
								
							 
						 
						
							
							
								
								compiler: fix unreachable type assert  
							
							... 
							
							
							
							The unreachable instruction is actually a block terminator so may only
be inserted at the end of a basic block. This is not always the case for
type asserts, so don't insert this instruction.
LLVM will hopefully optimize it anyway when it realizes anything after
the panic() call is unreachable. 
							
						 
						
							2018-09-13 20:48:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9cd7c7f0ba 
								
							 
						 
						
							
							
								
								compiler: fix phi nodes for type asserts  
							
							... 
							
							
							
							Type asserts insert more basic block, causing phi node values to be
invalid. Fix this by remembering the outgoing LLVM basic block. 
							
						 
						
							2018-09-13 20:42:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								57661a3c76 
								
							 
						 
						
							
							
								
								compiler: fix typeassert without comma-ok for unused types  
							
							
							
						 
						
							2018-09-13 16:58:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								d948abdf82 
								
							 
						 
						
							
							
								
								avr: correct register for Set() operation on pins 0-7  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2018-09-13 12:03:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								76e77917d8 
								
							 
						 
						
							
							
								
								targets: move target-specific files to this directory  
							
							
							
						 
						
							2018-09-13 00:59:39 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e389d38dec 
								
							 
						 
						
							
							
								
								Makefile: improve gen-device* commands  
							
							
							
						 
						
							2018-09-13 00:55:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								18b3e8d156 
								
							 
						 
						
							
							
								
								gen-device: move to new tools directory  
							
							
							
						 
						
							2018-09-13 00:55:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a46ed465c5 
								
							 
						 
						
							
							
								
								README: defer has been fully implemented  
							
							
							
						 
						
							2018-09-13 00:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								422c848163 
								
							 
						 
						
							
							
								
								README: fix nrf example and add arduino example  
							
							
							
						 
						
							2018-09-13 00:23:53 +02:00