From 8ad6e6b88d3d83e14cd375c638bd49785753187e Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Wed, 27 Sep 2017 13:25:39 +0200 Subject: [PATCH] Initial Commit --- can/Makefile | 0 can/include/can/can.h | 110 ++++ can/include/can/cannode.h | 144 ++++ can/include/can/jetcan.h | 112 ++++ can/include/can/jm2xx.h | 1 + can/include/rb2/can.h | 19 + can/src/candevice.c | 410 ++++++++++++ can/src/cannode.c | 137 ++++ can/src/jetcan.c | 348 ++++++++++ can/src/rb2_canlink.c | 65 ++ can/src/rb2_create_can_link.c | 176 +++++ core/Makefile | 2 + core/include/cpu/cpu.h | 6 + core/include/crc/crc.h | 5 + core/include/fixpoint/fixpoint.h | 8 + core/include/fixpoint/fp1616.h | 50 ++ core/include/fixpoint/fp248.h | 45 ++ core/include/fixpoint/fp4816.h | 78 +++ core/include/fixpoint/ieee.h | 18 + core/include/fixpoint/pid.h | 62 ++ core/include/hw+/fixpoint.h | 26 + core/include/hw+/irq.h | 23 + core/include/hw+/port.h | 25 + core/include/hw+/registers.h | 22 + core/include/hwo/access.h | 30 + core/include/hwo/bits.h | 62 ++ core/include/hwo/chksum.h | 21 + core/include/hwo/debug.h | 11 + core/include/hwo/eeprom.h | 40 ++ core/include/hwo/events.h | 3 + core/include/hwo/fifo.h | 49 ++ core/include/hwo/fixpoint.h | 60 ++ core/include/hwo/i2c.h | 60 ++ core/include/hwo/konsole.h | 124 ++++ core/include/hwo/logcsr.h | 22 + core/include/hwo/mutex.h | 5 + core/include/hwo/pid.h | 71 ++ core/include/hwo/pipes.h | 6 + core/include/hwo/platform.h | 65 ++ core/include/hwo/runtime.h | 1 + core/include/hwo/serial.h | 75 +++ core/include/hwo/stack.h | 27 + core/include/hwo/stamp.h | 8 + core/include/hwo/statemachine.h | 37 ++ core/include/hwo/sysevents.h | 3 + core/include/hwo/systick.h | 55 ++ core/include/hwo/terminal.h | 51 ++ core/include/hwo/threads.h | 4 + core/include/hwo/trace.h | 3 + core/include/hwo/utils.h | 72 ++ core/include/io/pipe.h | 46 ++ core/include/io/usart.h | 79 +++ core/include/rb2/api.h | 160 +++++ core/include/rb2/instance.h | 61 ++ core/include/rb2/link.h | 70 ++ core/include/rb2/proxy.h | 32 + core/include/rb2/regbus.h | 60 ++ core/include/rb2/register.h | 67 ++ core/include/rb2/telegram.h | 134 ++++ core/include/stddef.h | 9 + core/include/stdio.h | 144 ++++ core/include/stdlib.h | 14 + core/include/sys/adc.h | 67 ++ core/include/sys/arch/atomic.h | 17 + core/include/sys/arch/spinlock.h | 18 + core/include/sys/arch/systick.h | 8 + core/include/sys/assert.h | 38 ++ core/include/sys/atomic.h | 22 + core/include/sys/bootloader.h | 35 + core/include/sys/bootsys.h | 19 + core/include/sys/checks.h | 4 + core/include/sys/cpu.h | 7 + core/include/sys/dbg.h | 12 + core/include/sys/errno.h | 19 + core/include/sys/events.h | 45 ++ core/include/sys/fastfile.h | 51 ++ core/include/sys/i2ceeprom.h | 46 ++ core/include/sys/mutex.h | 29 + core/include/sys/outputs.h | 78 +++ core/include/sys/runtime.h | 159 +++++ core/include/sys/spi.h | 41 ++ core/include/sys/spinlock.h | 3 + core/include/sys/sysevents.h | 20 + core/include/sys/systick.h | 74 +++ core/include/sys/threads.h | 178 +++++ core/include/sys/time.h | 64 ++ core/include/sys/timer.h | 41 ++ core/include/sys/trace.h | 35 + core/include/sys/types.h | 11 + core/include/unierror.h | 71 ++ core/include/util/fifo.h | 97 +++ core/include/util/list.h | 102 +++ core/include/util/util.h | 39 ++ core/src/.access_authorize.c.dep | 4 + core/src/.adc_avr.c.dep | 38 ++ core/src/.adc_cpu.c.dep | 39 ++ core/src/.adc_register_proc.c.dep | 44 ++ core/src/.assert.c.dep | 42 ++ core/src/.bootloader.c.dep | 19 + core/src/.chksum.c.dep | 4 + core/src/.crc8.c.dep | 2 + core/src/.ctxsched.c.dep | 16 + core/src/.datetime2unix.c.dep | 3 + core/src/.dbg_var.c.dep | 7 + core/src/.debug.c.dep | 19 + core/src/.dev_null.c.dep | 19 + core/src/.dev_null_avr.c.dep | 18 + core/src/.eeprom.c.dep | 19 + core/src/.eeprom_load.c.dep | 20 + core/src/.eeprom_save.c.dep | 20 + core/src/.event_append.c.dep | 21 + core/src/.event_cleanup.c.dep | 21 + core/src/.event_pull.c.dep | 20 + core/src/.event_push.c.dep | 22 + core/src/.event_wait.c.dep | 20 + core/src/.f_cpu.c.dep | 2 + core/src/.fdev_create.c.dep | 18 + core/src/.fdev_notify.c.dep | 18 + core/src/.fdevopen_ts.c.dep | 18 + core/src/.fifo.c.dep | 8 + core/src/.fifo_alloc.c.dep | 18 + core/src/.fifo_avail.c.dep | 13 + core/src/.fifo_free.c.dep | 13 + core/src/.fifo_options.c.dep | 18 + core/src/.fifo_poll.c.dep | 13 + core/src/.fifo_read.c.dep | 18 + core/src/.fifo_read_block.c.dep | 18 + core/src/.fifo_set_blocking.c.dep | 8 + core/src/.fifo_set_timeout.c.dep | 8 + core/src/.fifo_write.c.dep | 18 + core/src/.fixpoint.c.dep | 3 + core/src/.fp1616_smoother.c.dep | 3 + core/src/.fp4816_from_float.c.dep | 4 + core/src/.fp4816_pid.c.dep | 9 + core/src/.fp4816_pow.c.dep | 4 + core/src/.fp4816_sincos_slow.c.dep | 4 + core/src/.fp4816_smoother.c.dep | 4 + core/src/.fp4816_taylor.c.dep | 4 + core/src/.fp4816_taylor_element.c.dep | 19 + core/src/.fp4816_to_a.c.dep | 4 + core/src/.fp4816_to_float.c.dep | 4 + core/src/.fp_acos.c.dep | 3 + core/src/.fp_asin.c.dep | 3 + core/src/.fp_normalize_arc.c.dep | 3 + core/src/.fp_sin.c.dep | 3 + core/src/.fp_sin_lookup.c.dep | 3 + core/src/.free_ts.c.dep | 7 + core/src/.get_csr.c.dep | 20 + core/src/.get_csr_buffer.c.dep | 21 + core/src/.i2c.c.dep | 20 + core/src/.i2cee_define_file.c.dep | 40 ++ core/src/.i2cee_identify.c.dep | 40 ++ core/src/.i2cee_load.c.dep | 40 ++ core/src/.i2cee_save.c.dep | 40 ++ core/src/.i2cee_size.c.dep | 37 ++ core/src/.i2ceeprom.c.dep | 2 + core/src/.ifact.c.dep | 2 + core/src/.log_csr.c.dep | 21 + core/src/.malloc_ts.c.dep | 7 + core/src/.mutex_lock.c.dep | 18 + core/src/.mutex_lock_indirect.c.dep | 17 + core/src/.mutex_release.c.dep | 18 + core/src/.mutex_release_indirect.c.dep | 17 + core/src/.mutex_try_lock.c.dep | 17 + core/src/.outputs.c.dep | 41 ++ core/src/.pipe.c.dep | 19 + core/src/.pipe_clear.c.dep | 19 + core/src/.pipe_empty.c.dep | 19 + core/src/.pipe_full.c.dep | 19 + core/src/.pipe_options.c.dep | 19 + core/src/.rb2_api_rx.c.dep | 36 + core/src/.rb2_clean_pending.c.dep | 36 + core/src/.rb2_convert.c.dep | 42 ++ core/src/.rb2_create_usart_link.c.dep | 36 + core/src/.rb2_default_register_proc.c.dep | 36 + core/src/.rb2_handle_request.c.dep | 36 + core/src/.rb2_handle_response.c.dep | 36 + core/src/.rb2_init.c.dep | 37 ++ core/src/.rb2_known_endpoints.c.dep | 36 + core/src/.rb2_loop_ident.c.dep | 37 ++ core/src/.rb2_loop_rx.c.dep | 36 + core/src/.rb2_loop_tx.c.dep | 36 + core/src/.rb2_pool.c.dep | 36 + core/src/.rb2_request.c.dep | 38 ++ core/src/.rb2_router.c.dep | 37 ++ core/src/.rt_authenticate.c.dep | 42 ++ core/src/.runtime.c.dep | 42 ++ core/src/.runtime_register_proc.c.dep | 47 ++ core/src/.runtime_set_running.c.dep | 41 ++ core/src/.seconds_from_midnight.c.dep | 4 + core/src/.smooth.c.dep | 17 + core/src/.spi_driver.c.dep | 19 + core/src/.spinlock.c.dep | 11 + core/src/.sprintf.c.dep | 18 + core/src/.systick.c.dep | 42 ++ core/src/.systick_secs.c.dep | 7 + core/src/.systick_set_handler.c.dep | 11 + core/src/.systick_set_handler_sec.c.dep | 11 + core/src/.systick_set_us.c.dep | 7 + core/src/.systick_ticks.c.dep | 7 + core/src/.thread_alloc.c.dep | 19 + core/src/.thread_kill.c.dep | 17 + core/src/.thread_set_periodic.c.dep | 17 + core/src/.thread_set_priority.c.dep | 16 + core/src/.thread_sleep_irq.c.dep | 16 + core/src/.thread_starter.c.dep | 17 + core/src/.thread_stat.c.dep | 16 + core/src/.thread_wake.c.dep | 17 + core/src/.timer_cancel.c.dep | 17 + core/src/.timer_create.c.dep | 17 + core/src/.timer_create_ex.c.dep | 17 + core/src/.timer_start.c.dep | 17 + core/src/.unix2datetime.c.dep | 4 + core/src/.unixtime.c.dep | 40 ++ core/src/.usart.c.dep | 22 + core/src/.usart_configure.c.dep | 22 + core/src/.usart_head.c.dep | 23 + core/src/.usart_options.c.dep | 23 + core/src/.wait_async_set.c.dep | 7 + core/src/.wait_async_test.c.dep | 7 + core/src/.wait_ms.c.dep | 16 + core/src/.wcslen.c.dep | 17 + core/src/.yield.c.dep | 17 + core/src/access_authorize.c | 55 ++ core/src/adc_avr.c | 45 ++ core/src/adc_cpu.c | 98 +++ core/src/adc_register_proc.c | 62 ++ core/src/assert.c | 77 +++ core/src/bootloader.c | 53 ++ core/src/chksum.c | 25 + core/src/crc8.c | 61 ++ core/src/ctxsched.c | 198 ++++++ core/src/datetime2unix.c | 19 + core/src/dbg_var.c | 5 + core/src/debug.c | 27 + core/src/dev_null.c | 21 + core/src/dev_null_avr.c | 18 + core/src/doc.bootloader.txt | 44 ++ core/src/eeprom.c | 14 + core/src/eeprom_load.c | 40 ++ core/src/eeprom_save.c | 29 + core/src/event_append.c | 32 + core/src/event_cleanup.c | 15 + core/src/event_pull.c | 20 + core/src/event_push.c | 31 + core/src/event_wait.c | 48 ++ core/src/f_cpu.c | 5 + core/src/fdev_create.c | 15 + core/src/fdev_notify.c | 13 + core/src/fdevopen_ts.c | 30 + core/src/fifo.c | 11 + core/src/fifo_alloc.c | 23 + core/src/fifo_avail.c | 13 + core/src/fifo_free.c | 9 + core/src/fifo_options.c | 9 + core/src/fifo_poll.c | 17 + core/src/fifo_read.c | 24 + core/src/fifo_read_block.c | 18 + core/src/fifo_set_blocking.c | 8 + core/src/fifo_set_timeout.c | 11 + core/src/fifo_write.c | 30 + core/src/fixpoint.c | 59 ++ core/src/fp1616_smoother.c | 11 + core/src/fp4816_from_float.c | 16 + core/src/fp4816_from_float_asm.S | 142 ++++ core/src/fp4816_pid.c | 151 +++++ core/src/fp4816_pow.c | 31 + core/src/fp4816_sincos_slow.c | 44 ++ core/src/fp4816_smoother.c | 11 + core/src/fp4816_taylor.c | 16 + core/src/fp4816_taylor_element.c | 13 + core/src/fp4816_to_a.c | 41 ++ core/src/fp4816_to_float.c | 27 + core/src/fp4816_to_float_asm.S | 126 ++++ core/src/fp_acos.c | 19 + core/src/fp_asin.c | 18 + core/src/fp_normalize_arc.c | 18 + core/src/fp_sin.c | 36 + core/src/fp_sin_lookup.c | 43 ++ core/src/free_ts.c | 10 + core/src/get_csr.c | 10 + core/src/get_csr_buffer.c | 28 + core/src/getpc.S | 13 + core/src/i2c.c | 200 ++++++ core/src/i2cee_define_file.c | 79 +++ core/src/i2cee_identify.c | 75 +++ core/src/i2cee_load.c | 52 ++ core/src/i2cee_save.c | 88 +++ core/src/i2cee_size.c | 5 + core/src/i2ceeprom.c | 0 core/src/ifact.c | 9 + core/src/log_csr.c | 104 +++ core/src/malloc_ts.c | 21 + core/src/mutex_lock.c | 51 ++ core/src/mutex_lock_indirect.c | 9 + core/src/mutex_release.c | 24 + core/src/mutex_release_indirect.c | 6 + core/src/mutex_try_lock.c | 25 + core/src/outputs.c | 134 ++++ core/src/pipe.c | 80 +++ core/src/pipe_clear.c | 13 + core/src/pipe_empty.c | 7 + core/src/pipe_full.c | 6 + core/src/pipe_options.c | 13 + core/src/rb2_api_rx.c | 16 + core/src/rb2_clean_pending.c | 27 + core/src/rb2_convert.c | 78 +++ core/src/rb2_create_usart_link.c | 290 +++++++++ core/src/rb2_default_register_proc.c | 19 + core/src/rb2_handle_request.c | 66 ++ core/src/rb2_handle_response.c | 45 ++ core/src/rb2_init.c | 38 ++ core/src/rb2_known_endpoints.c | 16 + core/src/rb2_loop_ident.c | 82 +++ core/src/rb2_loop_rx.c | 30 + core/src/rb2_loop_tx.c | 3 + core/src/rb2_pool.c | 50 ++ core/src/rb2_request.c | 84 +++ core/src/rb2_router.c | 179 +++++ core/src/rt_authenticate.c | 33 + core/src/runtime.c | 73 +++ core/src/runtime_register_proc.c | 613 ++++++++++++++++++ core/src/runtime_set_running.c | 16 + core/src/seconds_from_midnight.c | 17 + core/src/smooth.c | 29 + core/src/spi_driver.c | 124 ++++ core/src/spinlock.c | 49 ++ core/src/sprintf.c | 49 ++ core/src/systick.c | 343 ++++++++++ core/src/systick_secs.c | 7 + core/src/systick_set_handler.c | 12 + core/src/systick_set_handler_sec.c | 12 + core/src/systick_set_us.c | 10 + core/src/systick_ticks.c | 7 + core/src/thread_alloc.c | 70 ++ core/src/thread_kill.c | 19 + core/src/thread_set_periodic.c | 15 + core/src/thread_set_priority.c | 15 + core/src/thread_sleep_irq.c | 15 + core/src/thread_starter.c | 12 + core/src/thread_stat.c | 34 + core/src/thread_wake.c | 15 + core/src/timer_cancel.c | 13 + core/src/timer_create.c | 15 + core/src/timer_create_ex.c | 11 + core/src/timer_start.c | 22 + core/src/unix2datetime.c | 19 + core/src/unixtime.c | 26 + core/src/usart.c | 94 +++ core/src/usart_configure.c | 11 + core/src/usart_head.c | 3 + core/src/usart_options.c | 4 + core/src/wait_async_set.c | 13 + core/src/wait_async_test.c | 8 + core/src/wait_ms.c | 11 + core/src/wcslen.c | 14 + core/src/yield.c | 120 ++++ cpu/at90can128/Makefile | 2 + cpu/at90can128/global.make | 5 + cpu/at90can128/include/cpu/systick.h | 5 + cpu/at90can128/src/at90can_timer0.c | 48 ++ cpu/at90usb1286/Makefile | 2 + cpu/at90usb1286/global.make | 9 + cpu/at90usb1286/include/cpu/systick.h | 9 + cpu/at90usb1286/src/adc_cpu.c | 27 + cpu/atmega1284/Makefile | 1 + cpu/atmega1284/build.a | Bin 0 -> 1128296 bytes cpu/atmega1284/build.a.dep | 1 + cpu/atmega1284/build/.list | 1 + cpu/atmega1284/build/access_authorize.o | Bin 0 -> 5164 bytes cpu/atmega1284/build/access_authorize.o.dep | 4 + cpu/atmega1284/build/adc_avr.o | Bin 0 -> 12484 bytes cpu/atmega1284/build/adc_avr.o.dep | 38 ++ cpu/atmega1284/build/adc_cpu.o | Bin 0 -> 13196 bytes cpu/atmega1284/build/adc_cpu.o.dep | 39 ++ cpu/atmega1284/build/adc_register_proc.o | Bin 0 -> 16744 bytes cpu/atmega1284/build/adc_register_proc.o.dep | 44 ++ cpu/atmega1284/build/assert.o | Bin 0 -> 12280 bytes cpu/atmega1284/build/assert.o.dep | 42 ++ cpu/atmega1284/build/at90_usart.o | Bin 0 -> 14440 bytes cpu/atmega1284/build/at90_usart.o.dep | 23 + cpu/atmega1284/build/bootloader.o | Bin 0 -> 8240 bytes cpu/atmega1284/build/bootloader.o.dep | 19 + cpu/atmega1284/build/chksum.o | Bin 0 -> 3540 bytes cpu/atmega1284/build/chksum.o.dep | 4 + cpu/atmega1284/build/crc8.o | Bin 0 -> 3052 bytes cpu/atmega1284/build/crc8.o.dep | 2 + cpu/atmega1284/build/ctxsched.o | Bin 0 -> 17140 bytes cpu/atmega1284/build/ctxsched.o.dep | 16 + cpu/atmega1284/build/datetime2unix.o | Bin 0 -> 4752 bytes cpu/atmega1284/build/datetime2unix.o.dep | 3 + cpu/atmega1284/build/dbg_var.o | Bin 0 -> 2324 bytes cpu/atmega1284/build/dbg_var.o.dep | 7 + cpu/atmega1284/build/debug.o | Bin 0 -> 8012 bytes cpu/atmega1284/build/debug.o.dep | 19 + cpu/atmega1284/build/dev_null.o | Bin 0 -> 7312 bytes cpu/atmega1284/build/dev_null.o.dep | 19 + cpu/atmega1284/build/dev_null_avr.o | Bin 0 -> 7036 bytes cpu/atmega1284/build/dev_null_avr.o.dep | 18 + cpu/atmega1284/build/eeprom.o | Bin 0 -> 6324 bytes cpu/atmega1284/build/eeprom.o.dep | 19 + cpu/atmega1284/build/eeprom_load.o | Bin 0 -> 8568 bytes cpu/atmega1284/build/eeprom_load.o.dep | 20 + cpu/atmega1284/build/eeprom_save.o | Bin 0 -> 8252 bytes cpu/atmega1284/build/eeprom_save.o.dep | 20 + cpu/atmega1284/build/event_append.o | Bin 0 -> 8140 bytes cpu/atmega1284/build/event_append.o.dep | 21 + cpu/atmega1284/build/event_cleanup.o | Bin 0 -> 7464 bytes cpu/atmega1284/build/event_cleanup.o.dep | 21 + cpu/atmega1284/build/event_pull.o | Bin 0 -> 6136 bytes cpu/atmega1284/build/event_pull.o.dep | 20 + cpu/atmega1284/build/event_push.o | Bin 0 -> 7736 bytes cpu/atmega1284/build/event_push.o.dep | 22 + cpu/atmega1284/build/event_wait.o | Bin 0 -> 8844 bytes cpu/atmega1284/build/event_wait.o.dep | 20 + cpu/atmega1284/build/f_cpu.o | Bin 0 -> 2028 bytes cpu/atmega1284/build/f_cpu.o.dep | 2 + cpu/atmega1284/build/fdev_create.o | Bin 0 -> 7324 bytes cpu/atmega1284/build/fdev_create.o.dep | 18 + cpu/atmega1284/build/fdev_notify.o | Bin 0 -> 7520 bytes cpu/atmega1284/build/fdev_notify.o.dep | 18 + cpu/atmega1284/build/fdevopen_ts.o | Bin 0 -> 7556 bytes cpu/atmega1284/build/fdevopen_ts.o.dep | 18 + cpu/atmega1284/build/fifo.o | Bin 0 -> 2244 bytes cpu/atmega1284/build/fifo.o.dep | 8 + cpu/atmega1284/build/fifo_alloc.o | Bin 0 -> 7048 bytes cpu/atmega1284/build/fifo_alloc.o.dep | 18 + cpu/atmega1284/build/fifo_avail.o | Bin 0 -> 5204 bytes cpu/atmega1284/build/fifo_avail.o.dep | 13 + cpu/atmega1284/build/fifo_free.o | Bin 0 -> 5324 bytes cpu/atmega1284/build/fifo_free.o.dep | 13 + cpu/atmega1284/build/fifo_options.o | Bin 0 -> 6240 bytes cpu/atmega1284/build/fifo_options.o.dep | 18 + cpu/atmega1284/build/fifo_poll.o | Bin 0 -> 5600 bytes cpu/atmega1284/build/fifo_poll.o.dep | 13 + cpu/atmega1284/build/fifo_read.o | Bin 0 -> 8308 bytes cpu/atmega1284/build/fifo_read.o.dep | 18 + cpu/atmega1284/build/fifo_read_block.o | Bin 0 -> 7052 bytes cpu/atmega1284/build/fifo_read_block.o.dep | 18 + cpu/atmega1284/build/fifo_set_blocking.o | Bin 0 -> 3720 bytes cpu/atmega1284/build/fifo_set_blocking.o.dep | 8 + cpu/atmega1284/build/fifo_set_timeout.o | Bin 0 -> 3716 bytes cpu/atmega1284/build/fifo_set_timeout.o.dep | 8 + cpu/atmega1284/build/fifo_write.o | Bin 0 -> 8364 bytes cpu/atmega1284/build/fifo_write.o.dep | 18 + cpu/atmega1284/build/fixpoint.o | Bin 0 -> 5296 bytes cpu/atmega1284/build/fixpoint.o.dep | 3 + cpu/atmega1284/build/fp1616_smoother.o | Bin 0 -> 4124 bytes cpu/atmega1284/build/fp1616_smoother.o.dep | 3 + cpu/atmega1284/build/fp4816_from_float.o | Bin 0 -> 1756 bytes cpu/atmega1284/build/fp4816_from_float.o.dep | 4 + cpu/atmega1284/build/fp4816_from_float_asm.o | Bin 0 -> 3528 bytes .../build/fp4816_from_float_asm.o.dep | 2 + cpu/atmega1284/build/fp4816_pid.o | Bin 0 -> 11388 bytes cpu/atmega1284/build/fp4816_pid.o.dep | 9 + cpu/atmega1284/build/fp4816_pow.o | Bin 0 -> 4532 bytes cpu/atmega1284/build/fp4816_pow.o.dep | 4 + cpu/atmega1284/build/fp4816_sincos_slow.o | Bin 0 -> 5060 bytes cpu/atmega1284/build/fp4816_sincos_slow.o.dep | 4 + cpu/atmega1284/build/fp4816_smoother.o | Bin 0 -> 3748 bytes cpu/atmega1284/build/fp4816_smoother.o.dep | 4 + cpu/atmega1284/build/fp4816_taylor.o | Bin 0 -> 4092 bytes cpu/atmega1284/build/fp4816_taylor.o.dep | 4 + cpu/atmega1284/build/fp4816_taylor_element.o | Bin 0 -> 7080 bytes .../build/fp4816_taylor_element.o.dep | 19 + cpu/atmega1284/build/fp4816_to_a.o | Bin 0 -> 4860 bytes cpu/atmega1284/build/fp4816_to_a.o.dep | 4 + cpu/atmega1284/build/fp4816_to_float.o | Bin 0 -> 1752 bytes cpu/atmega1284/build/fp4816_to_float.o.dep | 4 + cpu/atmega1284/build/fp4816_to_float_asm.o | Bin 0 -> 3416 bytes .../build/fp4816_to_float_asm.o.dep | 2 + cpu/atmega1284/build/fp_acos.o | Bin 0 -> 3336 bytes cpu/atmega1284/build/fp_acos.o.dep | 3 + cpu/atmega1284/build/fp_asin.o | Bin 0 -> 3248 bytes cpu/atmega1284/build/fp_asin.o.dep | 3 + cpu/atmega1284/build/fp_normalize_arc.o | Bin 0 -> 2844 bytes cpu/atmega1284/build/fp_normalize_arc.o.dep | 3 + cpu/atmega1284/build/fp_sin.o | Bin 0 -> 4692 bytes cpu/atmega1284/build/fp_sin.o.dep | 3 + cpu/atmega1284/build/fp_sin_lookup.o | Bin 0 -> 2852 bytes cpu/atmega1284/build/fp_sin_lookup.o.dep | 3 + cpu/atmega1284/build/free_ts.o | Bin 0 -> 4216 bytes cpu/atmega1284/build/free_ts.o.dep | 7 + cpu/atmega1284/build/get_csr.o | Bin 0 -> 5888 bytes cpu/atmega1284/build/get_csr.o.dep | 20 + cpu/atmega1284/build/get_csr_buffer.o | Bin 0 -> 7404 bytes cpu/atmega1284/build/get_csr_buffer.o.dep | 21 + cpu/atmega1284/build/getpc.o | Bin 0 -> 1112 bytes cpu/atmega1284/build/getpc.o.dep | 2 + cpu/atmega1284/build/hf3_flex_source.o | Bin 0 -> 12524 bytes cpu/atmega1284/build/hf3_flex_source.o.dep | 56 ++ cpu/atmega1284/build/hf3_values.o | Bin 0 -> 15744 bytes cpu/atmega1284/build/hf3_values.o.dep | 56 ++ cpu/atmega1284/build/i2c.o | Bin 0 -> 16104 bytes cpu/atmega1284/build/i2c.o.dep | 20 + cpu/atmega1284/build/i2cee_define_file.o | Bin 0 -> 14112 bytes cpu/atmega1284/build/i2cee_define_file.o.dep | 40 ++ cpu/atmega1284/build/i2cee_identify.o | Bin 0 -> 13640 bytes cpu/atmega1284/build/i2cee_identify.o.dep | 40 ++ cpu/atmega1284/build/i2cee_load.o | Bin 0 -> 12540 bytes cpu/atmega1284/build/i2cee_load.o.dep | 40 ++ cpu/atmega1284/build/i2cee_save.o | Bin 0 -> 13824 bytes cpu/atmega1284/build/i2cee_save.o.dep | 40 ++ cpu/atmega1284/build/i2cee_size.o | Bin 0 -> 9676 bytes cpu/atmega1284/build/i2cee_size.o.dep | 37 ++ cpu/atmega1284/build/i2ceeprom.o | Bin 0 -> 996 bytes cpu/atmega1284/build/i2ceeprom.o.dep | 2 + cpu/atmega1284/build/ifact.o | Bin 0 -> 3300 bytes cpu/atmega1284/build/ifact.o.dep | 2 + cpu/atmega1284/build/log_csr.o | Bin 0 -> 8844 bytes cpu/atmega1284/build/log_csr.o.dep | 21 + cpu/atmega1284/build/m1284_timer0.o | Bin 0 -> 7416 bytes cpu/atmega1284/build/m1284_timer0.o.dep | 17 + cpu/atmega1284/build/malloc_ts.o | Bin 0 -> 4288 bytes cpu/atmega1284/build/malloc_ts.o.dep | 7 + cpu/atmega1284/build/motordefs.o | Bin 0 -> 16252 bytes cpu/atmega1284/build/motordefs.o.dep | 57 ++ cpu/atmega1284/build/mutex_lock.o | Bin 0 -> 9436 bytes cpu/atmega1284/build/mutex_lock.o.dep | 18 + cpu/atmega1284/build/mutex_lock_indirect.o | Bin 0 -> 6104 bytes .../build/mutex_lock_indirect.o.dep | 17 + cpu/atmega1284/build/mutex_release.o | Bin 0 -> 7012 bytes cpu/atmega1284/build/mutex_release.o.dep | 18 + cpu/atmega1284/build/mutex_release_indirect.o | Bin 0 -> 6080 bytes .../build/mutex_release_indirect.o.dep | 17 + cpu/atmega1284/build/mutex_try_lock.o | Bin 0 -> 7308 bytes cpu/atmega1284/build/mutex_try_lock.o.dep | 17 + cpu/atmega1284/build/outputs.o | Bin 0 -> 19952 bytes cpu/atmega1284/build/outputs.o.dep | 41 ++ cpu/atmega1284/build/pipe.o | Bin 0 -> 11304 bytes cpu/atmega1284/build/pipe.o.dep | 19 + cpu/atmega1284/build/pipe_clear.o | Bin 0 -> 6780 bytes cpu/atmega1284/build/pipe_clear.o.dep | 19 + cpu/atmega1284/build/pipe_empty.o | Bin 0 -> 5000 bytes cpu/atmega1284/build/pipe_empty.o.dep | 19 + cpu/atmega1284/build/pipe_full.o | Bin 0 -> 5000 bytes cpu/atmega1284/build/pipe_full.o.dep | 19 + cpu/atmega1284/build/pipe_options.o | Bin 0 -> 6824 bytes cpu/atmega1284/build/pipe_options.o.dep | 19 + cpu/atmega1284/build/rb2_api_rx.o | Bin 0 -> 9988 bytes cpu/atmega1284/build/rb2_api_rx.o.dep | 36 + cpu/atmega1284/build/rb2_clean_pending.o | Bin 0 -> 8932 bytes cpu/atmega1284/build/rb2_clean_pending.o.dep | 36 + cpu/atmega1284/build/rb2_convert.o | Bin 0 -> 13736 bytes cpu/atmega1284/build/rb2_convert.o.dep | 42 ++ cpu/atmega1284/build/rb2_create_usart_link.o | Bin 0 -> 17328 bytes .../build/rb2_create_usart_link.o.dep | 36 + .../build/rb2_default_register_proc.o | Bin 0 -> 10336 bytes .../build/rb2_default_register_proc.o.dep | 36 + cpu/atmega1284/build/rb2_handle_request.o | Bin 0 -> 12716 bytes cpu/atmega1284/build/rb2_handle_request.o.dep | 36 + cpu/atmega1284/build/rb2_handle_response.o | Bin 0 -> 11980 bytes .../build/rb2_handle_response.o.dep | 36 + cpu/atmega1284/build/rb2_init.o | Bin 0 -> 11540 bytes cpu/atmega1284/build/rb2_init.o.dep | 37 ++ cpu/atmega1284/build/rb2_known_endpoints.o | Bin 0 -> 9900 bytes .../build/rb2_known_endpoints.o.dep | 36 + cpu/atmega1284/build/rb2_loop_ident.o | Bin 0 -> 14352 bytes cpu/atmega1284/build/rb2_loop_ident.o.dep | 37 ++ cpu/atmega1284/build/rb2_loop_rx.o | Bin 0 -> 11036 bytes cpu/atmega1284/build/rb2_loop_rx.o.dep | 36 + cpu/atmega1284/build/rb2_loop_tx.o | Bin 0 -> 8924 bytes cpu/atmega1284/build/rb2_loop_tx.o.dep | 36 + cpu/atmega1284/build/rb2_pool.o | Bin 0 -> 13768 bytes cpu/atmega1284/build/rb2_pool.o.dep | 36 + cpu/atmega1284/build/rb2_request.o | Bin 0 -> 15892 bytes cpu/atmega1284/build/rb2_request.o.dep | 38 ++ cpu/atmega1284/build/rb2_router.o | Bin 0 -> 17872 bytes cpu/atmega1284/build/rb2_router.o.dep | 37 ++ cpu/atmega1284/build/rt_authenticate.o | Bin 0 -> 13632 bytes cpu/atmega1284/build/rt_authenticate.o.dep | 42 ++ cpu/atmega1284/build/runtime.o | Bin 0 -> 17092 bytes cpu/atmega1284/build/runtime.o.dep | 42 ++ cpu/atmega1284/build/runtime_register_proc.o | Bin 0 -> 30264 bytes .../build/runtime_register_proc.o.dep | 47 ++ cpu/atmega1284/build/runtime_set_running.o | Bin 0 -> 13200 bytes .../build/runtime_set_running.o.dep | 41 ++ cpu/atmega1284/build/seconds_from_midnight.o | Bin 0 -> 3852 bytes .../build/seconds_from_midnight.o.dep | 4 + cpu/atmega1284/build/smooth.o | Bin 0 -> 7152 bytes cpu/atmega1284/build/smooth.o.dep | 17 + cpu/atmega1284/build/spi_driver.o | Bin 0 -> 11192 bytes cpu/atmega1284/build/spi_driver.o.dep | 19 + cpu/atmega1284/build/spinlock.o | Bin 0 -> 5708 bytes cpu/atmega1284/build/spinlock.o.dep | 11 + cpu/atmega1284/build/sprintf.o | Bin 0 -> 8248 bytes cpu/atmega1284/build/sprintf.o.dep | 18 + cpu/atmega1284/build/systick.o | Bin 0 -> 22312 bytes cpu/atmega1284/build/systick.o.dep | 42 ++ cpu/atmega1284/build/systick_secs.o | Bin 0 -> 2900 bytes cpu/atmega1284/build/systick_secs.o.dep | 7 + cpu/atmega1284/build/systick_set_handler.o | Bin 0 -> 4672 bytes .../build/systick_set_handler.o.dep | 11 + .../build/systick_set_handler_sec.o | Bin 0 -> 4700 bytes .../build/systick_set_handler_sec.o.dep | 11 + cpu/atmega1284/build/systick_set_us.o | Bin 0 -> 3032 bytes cpu/atmega1284/build/systick_set_us.o.dep | 7 + cpu/atmega1284/build/systick_ticks.o | Bin 0 -> 2968 bytes cpu/atmega1284/build/systick_ticks.o.dep | 7 + cpu/atmega1284/build/thread_alloc.o | Bin 0 -> 8932 bytes cpu/atmega1284/build/thread_alloc.o.dep | 19 + cpu/atmega1284/build/thread_kill.o | Bin 0 -> 6224 bytes cpu/atmega1284/build/thread_kill.o.dep | 17 + cpu/atmega1284/build/thread_set_periodic.o | Bin 0 -> 7032 bytes .../build/thread_set_periodic.o.dep | 17 + cpu/atmega1284/build/thread_set_priority.o | Bin 0 -> 6984 bytes .../build/thread_set_priority.o.dep | 16 + cpu/atmega1284/build/thread_sleep_irq.o | Bin 0 -> 5984 bytes cpu/atmega1284/build/thread_sleep_irq.o.dep | 16 + cpu/atmega1284/build/thread_starter.o | Bin 0 -> 5952 bytes cpu/atmega1284/build/thread_starter.o.dep | 17 + cpu/atmega1284/build/thread_stat.o | Bin 0 -> 5004 bytes cpu/atmega1284/build/thread_stat.o.dep | 16 + cpu/atmega1284/build/thread_wake.o | Bin 0 -> 6848 bytes cpu/atmega1284/build/thread_wake.o.dep | 17 + cpu/atmega1284/build/timer_cancel.o | Bin 0 -> 7204 bytes cpu/atmega1284/build/timer_cancel.o.dep | 17 + cpu/atmega1284/build/timer_create.o | Bin 0 -> 6976 bytes cpu/atmega1284/build/timer_create.o.dep | 17 + cpu/atmega1284/build/timer_create_ex.o | Bin 0 -> 6648 bytes cpu/atmega1284/build/timer_create_ex.o.dep | 17 + cpu/atmega1284/build/timer_start.o | Bin 0 -> 8176 bytes cpu/atmega1284/build/timer_start.o.dep | 17 + cpu/atmega1284/build/unix2datetime.o | Bin 0 -> 3444 bytes cpu/atmega1284/build/unix2datetime.o.dep | 4 + cpu/atmega1284/build/unixtime.o | Bin 0 -> 14128 bytes cpu/atmega1284/build/unixtime.o.dep | 40 ++ cpu/atmega1284/build/usart.o | Bin 0 -> 9944 bytes cpu/atmega1284/build/usart.o.dep | 22 + cpu/atmega1284/build/usart_configure.o | Bin 0 -> 7048 bytes cpu/atmega1284/build/usart_configure.o.dep | 22 + cpu/atmega1284/build/usart_head.o | Bin 0 -> 5000 bytes cpu/atmega1284/build/usart_head.o.dep | 23 + cpu/atmega1284/build/usart_options.o | Bin 0 -> 5008 bytes cpu/atmega1284/build/usart_options.o.dep | 23 + cpu/atmega1284/build/wait_async_set.o | Bin 0 -> 3564 bytes cpu/atmega1284/build/wait_async_set.o.dep | 7 + cpu/atmega1284/build/wait_async_test.o | Bin 0 -> 3484 bytes cpu/atmega1284/build/wait_async_test.o.dep | 7 + cpu/atmega1284/build/wait_ms.o | Bin 0 -> 7692 bytes cpu/atmega1284/build/wait_ms.o.dep | 16 + cpu/atmega1284/build/wcslen.o | Bin 0 -> 6200 bytes cpu/atmega1284/build/wcslen.o.dep | 17 + cpu/atmega1284/build/yield.o | Bin 0 -> 6032 bytes cpu/atmega1284/build/yield.o.dep | 17 + cpu/atmega1284/global.make | 9 + cpu/atmega1284p/Makefile | 1 + cpu/atmega1284p/global.make | 9 + cpu/atmega1284p/include/cpu/systick.h | 5 + cpu/atmega1284p/src/.m1284_timer0.c.dep | 17 + cpu/atmega1284p/src/m1284_timer0.c | 33 + cpu/atmega32u4/Makefile | 2 + cpu/atmega32u4/global.make | 9 + cpu/atmega32u4/include/cpu/systick.h | 7 + cpu/atmega8/Makefile | 3 + cpu/atmega8/global.make | 5 + cpu/atmega8/include/cpu/systick.h | 4 + timer/at90timer0/Makefile | 2 + timer/at90timer0/src/at90usb_timer0.c | 42 ++ timer/m8timer2/Makefile | 2 + timer/m8timer2/src/m8timer2.c | 36 + usart/at90/Makefile | 0 usart/at90/src/.at90_usart.c.dep | 23 + usart/at90/src/at90_usart.c | 229 +++++++ usb/Makefile | 2 + usb/include/usb/cdc_serial.h | 60 ++ usb/include/usb/servicelink.h | 100 +++ usb/include/usb/types.h | 68 ++ usb/include/usb/usb.h | 62 ++ usb/include/usb/usb_configuration.h | 2 + usb/include/usb/usb_defs.h | 45 ++ usb/include/usb/usb_descriptor.h | 25 + usb/include/usb/usb_device.h | 109 ++++ usb/include/usb/usb_device_avr.h | 31 + usb/include/usb/usb_endpoint.h | 46 ++ usb/include/usb/usb_interrupt.h | 26 + usb/include/usb/usb_spec.h | 180 +++++ usb/include/usb/usb_spec_cdc.h | 81 +++ usb/src/servicelink.c | 113 ++++ usb/src/servicelink_v2.c | 250 +++++++ usb/src/usb.c | 9 + usb/src/usb_cdc_class_setup.c | 39 ++ usb/src/usb_descriptor.c | 35 + usb/src/usb_device.c | 32 + usb/src/usb_device_avr.c | 256 ++++++++ usb/src/usb_device_configure.c | 41 ++ usb/src/usb_endpoint.c | 85 +++ usb/src/usb_endpoint_stream.c | 135 ++++ usb/src/usb_ll.c | 62 ++ usb/src/usb_ll_endpoint.c | 271 ++++++++ usb/src/usb_ll_setup.c | 90 +++ 691 files changed, 19396 insertions(+) create mode 100755 can/Makefile create mode 100644 can/include/can/can.h create mode 100755 can/include/can/cannode.h create mode 100755 can/include/can/jetcan.h create mode 100755 can/include/can/jm2xx.h create mode 100755 can/include/rb2/can.h create mode 100644 can/src/candevice.c create mode 100755 can/src/cannode.c create mode 100644 can/src/jetcan.c create mode 100755 can/src/rb2_canlink.c create mode 100755 can/src/rb2_create_can_link.c create mode 100755 core/Makefile create mode 100644 core/include/cpu/cpu.h create mode 100755 core/include/crc/crc.h create mode 100644 core/include/fixpoint/fixpoint.h create mode 100644 core/include/fixpoint/fp1616.h create mode 100755 core/include/fixpoint/fp248.h create mode 100755 core/include/fixpoint/fp4816.h create mode 100755 core/include/fixpoint/ieee.h create mode 100644 core/include/fixpoint/pid.h create mode 100755 core/include/hw+/fixpoint.h create mode 100755 core/include/hw+/irq.h create mode 100755 core/include/hw+/port.h create mode 100755 core/include/hw+/registers.h create mode 100755 core/include/hwo/access.h create mode 100755 core/include/hwo/bits.h create mode 100755 core/include/hwo/chksum.h create mode 100755 core/include/hwo/debug.h create mode 100644 core/include/hwo/eeprom.h create mode 100755 core/include/hwo/events.h create mode 100755 core/include/hwo/fifo.h create mode 100755 core/include/hwo/fixpoint.h create mode 100755 core/include/hwo/i2c.h create mode 100755 core/include/hwo/konsole.h create mode 100755 core/include/hwo/logcsr.h create mode 100755 core/include/hwo/mutex.h create mode 100755 core/include/hwo/pid.h create mode 100755 core/include/hwo/pipes.h create mode 100755 core/include/hwo/platform.h create mode 100755 core/include/hwo/runtime.h create mode 100755 core/include/hwo/serial.h create mode 100755 core/include/hwo/stack.h create mode 100755 core/include/hwo/stamp.h create mode 100755 core/include/hwo/statemachine.h create mode 100755 core/include/hwo/sysevents.h create mode 100755 core/include/hwo/systick.h create mode 100755 core/include/hwo/terminal.h create mode 100755 core/include/hwo/threads.h create mode 100755 core/include/hwo/trace.h create mode 100644 core/include/hwo/utils.h create mode 100755 core/include/io/pipe.h create mode 100644 core/include/io/usart.h create mode 100644 core/include/rb2/api.h create mode 100755 core/include/rb2/instance.h create mode 100644 core/include/rb2/link.h create mode 100755 core/include/rb2/proxy.h create mode 100644 core/include/rb2/regbus.h create mode 100755 core/include/rb2/register.h create mode 100644 core/include/rb2/telegram.h create mode 100755 core/include/stddef.h create mode 100644 core/include/stdio.h create mode 100755 core/include/stdlib.h create mode 100755 core/include/sys/adc.h create mode 100644 core/include/sys/arch/atomic.h create mode 100644 core/include/sys/arch/spinlock.h create mode 100644 core/include/sys/arch/systick.h create mode 100644 core/include/sys/assert.h create mode 100755 core/include/sys/atomic.h create mode 100755 core/include/sys/bootloader.h create mode 100755 core/include/sys/bootsys.h create mode 100644 core/include/sys/checks.h create mode 100644 core/include/sys/cpu.h create mode 100644 core/include/sys/dbg.h create mode 100644 core/include/sys/errno.h create mode 100755 core/include/sys/events.h create mode 100755 core/include/sys/fastfile.h create mode 100644 core/include/sys/i2ceeprom.h create mode 100755 core/include/sys/mutex.h create mode 100755 core/include/sys/outputs.h create mode 100755 core/include/sys/runtime.h create mode 100755 core/include/sys/spi.h create mode 100755 core/include/sys/spinlock.h create mode 100755 core/include/sys/sysevents.h create mode 100644 core/include/sys/systick.h create mode 100644 core/include/sys/threads.h create mode 100755 core/include/sys/time.h create mode 100755 core/include/sys/timer.h create mode 100644 core/include/sys/trace.h create mode 100644 core/include/sys/types.h create mode 100755 core/include/unierror.h create mode 100644 core/include/util/fifo.h create mode 100755 core/include/util/list.h create mode 100644 core/include/util/util.h create mode 100644 core/src/.access_authorize.c.dep create mode 100644 core/src/.adc_avr.c.dep create mode 100644 core/src/.adc_cpu.c.dep create mode 100644 core/src/.adc_register_proc.c.dep create mode 100644 core/src/.assert.c.dep create mode 100644 core/src/.bootloader.c.dep create mode 100644 core/src/.chksum.c.dep create mode 100644 core/src/.crc8.c.dep create mode 100644 core/src/.ctxsched.c.dep create mode 100644 core/src/.datetime2unix.c.dep create mode 100644 core/src/.dbg_var.c.dep create mode 100644 core/src/.debug.c.dep create mode 100644 core/src/.dev_null.c.dep create mode 100644 core/src/.dev_null_avr.c.dep create mode 100644 core/src/.eeprom.c.dep create mode 100644 core/src/.eeprom_load.c.dep create mode 100644 core/src/.eeprom_save.c.dep create mode 100644 core/src/.event_append.c.dep create mode 100644 core/src/.event_cleanup.c.dep create mode 100644 core/src/.event_pull.c.dep create mode 100644 core/src/.event_push.c.dep create mode 100644 core/src/.event_wait.c.dep create mode 100644 core/src/.f_cpu.c.dep create mode 100644 core/src/.fdev_create.c.dep create mode 100644 core/src/.fdev_notify.c.dep create mode 100644 core/src/.fdevopen_ts.c.dep create mode 100644 core/src/.fifo.c.dep create mode 100644 core/src/.fifo_alloc.c.dep create mode 100644 core/src/.fifo_avail.c.dep create mode 100644 core/src/.fifo_free.c.dep create mode 100644 core/src/.fifo_options.c.dep create mode 100644 core/src/.fifo_poll.c.dep create mode 100644 core/src/.fifo_read.c.dep create mode 100644 core/src/.fifo_read_block.c.dep create mode 100644 core/src/.fifo_set_blocking.c.dep create mode 100644 core/src/.fifo_set_timeout.c.dep create mode 100644 core/src/.fifo_write.c.dep create mode 100644 core/src/.fixpoint.c.dep create mode 100644 core/src/.fp1616_smoother.c.dep create mode 100644 core/src/.fp4816_from_float.c.dep create mode 100644 core/src/.fp4816_pid.c.dep create mode 100644 core/src/.fp4816_pow.c.dep create mode 100644 core/src/.fp4816_sincos_slow.c.dep create mode 100644 core/src/.fp4816_smoother.c.dep create mode 100644 core/src/.fp4816_taylor.c.dep create mode 100644 core/src/.fp4816_taylor_element.c.dep create mode 100644 core/src/.fp4816_to_a.c.dep create mode 100644 core/src/.fp4816_to_float.c.dep create mode 100644 core/src/.fp_acos.c.dep create mode 100644 core/src/.fp_asin.c.dep create mode 100644 core/src/.fp_normalize_arc.c.dep create mode 100644 core/src/.fp_sin.c.dep create mode 100644 core/src/.fp_sin_lookup.c.dep create mode 100644 core/src/.free_ts.c.dep create mode 100644 core/src/.get_csr.c.dep create mode 100644 core/src/.get_csr_buffer.c.dep create mode 100644 core/src/.i2c.c.dep create mode 100644 core/src/.i2cee_define_file.c.dep create mode 100644 core/src/.i2cee_identify.c.dep create mode 100644 core/src/.i2cee_load.c.dep create mode 100644 core/src/.i2cee_save.c.dep create mode 100644 core/src/.i2cee_size.c.dep create mode 100644 core/src/.i2ceeprom.c.dep create mode 100644 core/src/.ifact.c.dep create mode 100644 core/src/.log_csr.c.dep create mode 100644 core/src/.malloc_ts.c.dep create mode 100644 core/src/.mutex_lock.c.dep create mode 100644 core/src/.mutex_lock_indirect.c.dep create mode 100644 core/src/.mutex_release.c.dep create mode 100644 core/src/.mutex_release_indirect.c.dep create mode 100644 core/src/.mutex_try_lock.c.dep create mode 100644 core/src/.outputs.c.dep create mode 100644 core/src/.pipe.c.dep create mode 100644 core/src/.pipe_clear.c.dep create mode 100644 core/src/.pipe_empty.c.dep create mode 100644 core/src/.pipe_full.c.dep create mode 100644 core/src/.pipe_options.c.dep create mode 100644 core/src/.rb2_api_rx.c.dep create mode 100644 core/src/.rb2_clean_pending.c.dep create mode 100644 core/src/.rb2_convert.c.dep create mode 100644 core/src/.rb2_create_usart_link.c.dep create mode 100644 core/src/.rb2_default_register_proc.c.dep create mode 100644 core/src/.rb2_handle_request.c.dep create mode 100644 core/src/.rb2_handle_response.c.dep create mode 100644 core/src/.rb2_init.c.dep create mode 100644 core/src/.rb2_known_endpoints.c.dep create mode 100644 core/src/.rb2_loop_ident.c.dep create mode 100644 core/src/.rb2_loop_rx.c.dep create mode 100644 core/src/.rb2_loop_tx.c.dep create mode 100644 core/src/.rb2_pool.c.dep create mode 100644 core/src/.rb2_request.c.dep create mode 100644 core/src/.rb2_router.c.dep create mode 100644 core/src/.rt_authenticate.c.dep create mode 100644 core/src/.runtime.c.dep create mode 100644 core/src/.runtime_register_proc.c.dep create mode 100644 core/src/.runtime_set_running.c.dep create mode 100644 core/src/.seconds_from_midnight.c.dep create mode 100644 core/src/.smooth.c.dep create mode 100644 core/src/.spi_driver.c.dep create mode 100644 core/src/.spinlock.c.dep create mode 100644 core/src/.sprintf.c.dep create mode 100644 core/src/.systick.c.dep create mode 100644 core/src/.systick_secs.c.dep create mode 100644 core/src/.systick_set_handler.c.dep create mode 100644 core/src/.systick_set_handler_sec.c.dep create mode 100644 core/src/.systick_set_us.c.dep create mode 100644 core/src/.systick_ticks.c.dep create mode 100644 core/src/.thread_alloc.c.dep create mode 100644 core/src/.thread_kill.c.dep create mode 100644 core/src/.thread_set_periodic.c.dep create mode 100644 core/src/.thread_set_priority.c.dep create mode 100644 core/src/.thread_sleep_irq.c.dep create mode 100644 core/src/.thread_starter.c.dep create mode 100644 core/src/.thread_stat.c.dep create mode 100644 core/src/.thread_wake.c.dep create mode 100644 core/src/.timer_cancel.c.dep create mode 100644 core/src/.timer_create.c.dep create mode 100644 core/src/.timer_create_ex.c.dep create mode 100644 core/src/.timer_start.c.dep create mode 100644 core/src/.unix2datetime.c.dep create mode 100644 core/src/.unixtime.c.dep create mode 100644 core/src/.usart.c.dep create mode 100644 core/src/.usart_configure.c.dep create mode 100644 core/src/.usart_head.c.dep create mode 100644 core/src/.usart_options.c.dep create mode 100644 core/src/.wait_async_set.c.dep create mode 100644 core/src/.wait_async_test.c.dep create mode 100644 core/src/.wait_ms.c.dep create mode 100644 core/src/.wcslen.c.dep create mode 100644 core/src/.yield.c.dep create mode 100755 core/src/access_authorize.c create mode 100755 core/src/adc_avr.c create mode 100644 core/src/adc_cpu.c create mode 100755 core/src/adc_register_proc.c create mode 100644 core/src/assert.c create mode 100755 core/src/bootloader.c create mode 100755 core/src/chksum.c create mode 100755 core/src/crc8.c create mode 100755 core/src/ctxsched.c create mode 100755 core/src/datetime2unix.c create mode 100644 core/src/dbg_var.c create mode 100755 core/src/debug.c create mode 100755 core/src/dev_null.c create mode 100755 core/src/dev_null_avr.c create mode 100755 core/src/doc.bootloader.txt create mode 100755 core/src/eeprom.c create mode 100755 core/src/eeprom_load.c create mode 100755 core/src/eeprom_save.c create mode 100755 core/src/event_append.c create mode 100755 core/src/event_cleanup.c create mode 100755 core/src/event_pull.c create mode 100755 core/src/event_push.c create mode 100755 core/src/event_wait.c create mode 100755 core/src/f_cpu.c create mode 100755 core/src/fdev_create.c create mode 100755 core/src/fdev_notify.c create mode 100755 core/src/fdevopen_ts.c create mode 100755 core/src/fifo.c create mode 100755 core/src/fifo_alloc.c create mode 100755 core/src/fifo_avail.c create mode 100755 core/src/fifo_free.c create mode 100755 core/src/fifo_options.c create mode 100755 core/src/fifo_poll.c create mode 100755 core/src/fifo_read.c create mode 100755 core/src/fifo_read_block.c create mode 100755 core/src/fifo_set_blocking.c create mode 100755 core/src/fifo_set_timeout.c create mode 100755 core/src/fifo_write.c create mode 100755 core/src/fixpoint.c create mode 100755 core/src/fp1616_smoother.c create mode 100755 core/src/fp4816_from_float.c create mode 100755 core/src/fp4816_from_float_asm.S create mode 100644 core/src/fp4816_pid.c create mode 100755 core/src/fp4816_pow.c create mode 100755 core/src/fp4816_sincos_slow.c create mode 100755 core/src/fp4816_smoother.c create mode 100755 core/src/fp4816_taylor.c create mode 100755 core/src/fp4816_taylor_element.c create mode 100755 core/src/fp4816_to_a.c create mode 100755 core/src/fp4816_to_float.c create mode 100755 core/src/fp4816_to_float_asm.S create mode 100755 core/src/fp_acos.c create mode 100755 core/src/fp_asin.c create mode 100755 core/src/fp_normalize_arc.c create mode 100755 core/src/fp_sin.c create mode 100755 core/src/fp_sin_lookup.c create mode 100755 core/src/free_ts.c create mode 100644 core/src/get_csr.c create mode 100644 core/src/get_csr_buffer.c create mode 100755 core/src/getpc.S create mode 100644 core/src/i2c.c create mode 100755 core/src/i2cee_define_file.c create mode 100755 core/src/i2cee_identify.c create mode 100755 core/src/i2cee_load.c create mode 100755 core/src/i2cee_save.c create mode 100755 core/src/i2cee_size.c create mode 100755 core/src/i2ceeprom.c create mode 100755 core/src/ifact.c create mode 100644 core/src/log_csr.c create mode 100644 core/src/malloc_ts.c create mode 100755 core/src/mutex_lock.c create mode 100755 core/src/mutex_lock_indirect.c create mode 100755 core/src/mutex_release.c create mode 100755 core/src/mutex_release_indirect.c create mode 100755 core/src/mutex_try_lock.c create mode 100644 core/src/outputs.c create mode 100755 core/src/pipe.c create mode 100755 core/src/pipe_clear.c create mode 100755 core/src/pipe_empty.c create mode 100755 core/src/pipe_full.c create mode 100755 core/src/pipe_options.c create mode 100644 core/src/rb2_api_rx.c create mode 100644 core/src/rb2_clean_pending.c create mode 100644 core/src/rb2_convert.c create mode 100644 core/src/rb2_create_usart_link.c create mode 100755 core/src/rb2_default_register_proc.c create mode 100644 core/src/rb2_handle_request.c create mode 100644 core/src/rb2_handle_response.c create mode 100644 core/src/rb2_init.c create mode 100755 core/src/rb2_known_endpoints.c create mode 100755 core/src/rb2_loop_ident.c create mode 100755 core/src/rb2_loop_rx.c create mode 100755 core/src/rb2_loop_tx.c create mode 100755 core/src/rb2_pool.c create mode 100644 core/src/rb2_request.c create mode 100644 core/src/rb2_router.c create mode 100755 core/src/rt_authenticate.c create mode 100755 core/src/runtime.c create mode 100644 core/src/runtime_register_proc.c create mode 100755 core/src/runtime_set_running.c create mode 100755 core/src/seconds_from_midnight.c create mode 100755 core/src/smooth.c create mode 100644 core/src/spi_driver.c create mode 100644 core/src/spinlock.c create mode 100644 core/src/sprintf.c create mode 100644 core/src/systick.c create mode 100755 core/src/systick_secs.c create mode 100755 core/src/systick_set_handler.c create mode 100755 core/src/systick_set_handler_sec.c create mode 100755 core/src/systick_set_us.c create mode 100755 core/src/systick_ticks.c create mode 100644 core/src/thread_alloc.c create mode 100755 core/src/thread_kill.c create mode 100755 core/src/thread_set_periodic.c create mode 100755 core/src/thread_set_priority.c create mode 100755 core/src/thread_sleep_irq.c create mode 100755 core/src/thread_starter.c create mode 100644 core/src/thread_stat.c create mode 100755 core/src/thread_wake.c create mode 100755 core/src/timer_cancel.c create mode 100755 core/src/timer_create.c create mode 100755 core/src/timer_create_ex.c create mode 100755 core/src/timer_start.c create mode 100755 core/src/unix2datetime.c create mode 100755 core/src/unixtime.c create mode 100644 core/src/usart.c create mode 100644 core/src/usart_configure.c create mode 100644 core/src/usart_head.c create mode 100644 core/src/usart_options.c create mode 100755 core/src/wait_async_set.c create mode 100755 core/src/wait_async_test.c create mode 100755 core/src/wait_ms.c create mode 100755 core/src/wcslen.c create mode 100644 core/src/yield.c create mode 100755 cpu/at90can128/Makefile create mode 100755 cpu/at90can128/global.make create mode 100644 cpu/at90can128/include/cpu/systick.h create mode 100644 cpu/at90can128/src/at90can_timer0.c create mode 100755 cpu/at90usb1286/Makefile create mode 100755 cpu/at90usb1286/global.make create mode 100644 cpu/at90usb1286/include/cpu/systick.h create mode 100644 cpu/at90usb1286/src/adc_cpu.c create mode 100755 cpu/atmega1284/Makefile create mode 100644 cpu/atmega1284/build.a create mode 100644 cpu/atmega1284/build.a.dep create mode 100644 cpu/atmega1284/build/.list create mode 100644 cpu/atmega1284/build/access_authorize.o create mode 100644 cpu/atmega1284/build/access_authorize.o.dep create mode 100644 cpu/atmega1284/build/adc_avr.o create mode 100644 cpu/atmega1284/build/adc_avr.o.dep create mode 100644 cpu/atmega1284/build/adc_cpu.o create mode 100644 cpu/atmega1284/build/adc_cpu.o.dep create mode 100644 cpu/atmega1284/build/adc_register_proc.o create mode 100644 cpu/atmega1284/build/adc_register_proc.o.dep create mode 100644 cpu/atmega1284/build/assert.o create mode 100644 cpu/atmega1284/build/assert.o.dep create mode 100644 cpu/atmega1284/build/at90_usart.o create mode 100644 cpu/atmega1284/build/at90_usart.o.dep create mode 100644 cpu/atmega1284/build/bootloader.o create mode 100644 cpu/atmega1284/build/bootloader.o.dep create mode 100644 cpu/atmega1284/build/chksum.o create mode 100644 cpu/atmega1284/build/chksum.o.dep create mode 100644 cpu/atmega1284/build/crc8.o create mode 100644 cpu/atmega1284/build/crc8.o.dep create mode 100644 cpu/atmega1284/build/ctxsched.o create mode 100644 cpu/atmega1284/build/ctxsched.o.dep create mode 100644 cpu/atmega1284/build/datetime2unix.o create mode 100644 cpu/atmega1284/build/datetime2unix.o.dep create mode 100644 cpu/atmega1284/build/dbg_var.o create mode 100644 cpu/atmega1284/build/dbg_var.o.dep create mode 100644 cpu/atmega1284/build/debug.o create mode 100644 cpu/atmega1284/build/debug.o.dep create mode 100644 cpu/atmega1284/build/dev_null.o create mode 100644 cpu/atmega1284/build/dev_null.o.dep create mode 100644 cpu/atmega1284/build/dev_null_avr.o create mode 100644 cpu/atmega1284/build/dev_null_avr.o.dep create mode 100644 cpu/atmega1284/build/eeprom.o create mode 100644 cpu/atmega1284/build/eeprom.o.dep create mode 100644 cpu/atmega1284/build/eeprom_load.o create mode 100644 cpu/atmega1284/build/eeprom_load.o.dep create mode 100644 cpu/atmega1284/build/eeprom_save.o create mode 100644 cpu/atmega1284/build/eeprom_save.o.dep create mode 100644 cpu/atmega1284/build/event_append.o create mode 100644 cpu/atmega1284/build/event_append.o.dep create mode 100644 cpu/atmega1284/build/event_cleanup.o create mode 100644 cpu/atmega1284/build/event_cleanup.o.dep create mode 100644 cpu/atmega1284/build/event_pull.o create mode 100644 cpu/atmega1284/build/event_pull.o.dep create mode 100644 cpu/atmega1284/build/event_push.o create mode 100644 cpu/atmega1284/build/event_push.o.dep create mode 100644 cpu/atmega1284/build/event_wait.o create mode 100644 cpu/atmega1284/build/event_wait.o.dep create mode 100644 cpu/atmega1284/build/f_cpu.o create mode 100644 cpu/atmega1284/build/f_cpu.o.dep create mode 100644 cpu/atmega1284/build/fdev_create.o create mode 100644 cpu/atmega1284/build/fdev_create.o.dep create mode 100644 cpu/atmega1284/build/fdev_notify.o create mode 100644 cpu/atmega1284/build/fdev_notify.o.dep create mode 100644 cpu/atmega1284/build/fdevopen_ts.o create mode 100644 cpu/atmega1284/build/fdevopen_ts.o.dep create mode 100644 cpu/atmega1284/build/fifo.o create mode 100644 cpu/atmega1284/build/fifo.o.dep create mode 100644 cpu/atmega1284/build/fifo_alloc.o create mode 100644 cpu/atmega1284/build/fifo_alloc.o.dep create mode 100644 cpu/atmega1284/build/fifo_avail.o create mode 100644 cpu/atmega1284/build/fifo_avail.o.dep create mode 100644 cpu/atmega1284/build/fifo_free.o create mode 100644 cpu/atmega1284/build/fifo_free.o.dep create mode 100644 cpu/atmega1284/build/fifo_options.o create mode 100644 cpu/atmega1284/build/fifo_options.o.dep create mode 100644 cpu/atmega1284/build/fifo_poll.o create mode 100644 cpu/atmega1284/build/fifo_poll.o.dep create mode 100644 cpu/atmega1284/build/fifo_read.o create mode 100644 cpu/atmega1284/build/fifo_read.o.dep create mode 100644 cpu/atmega1284/build/fifo_read_block.o create mode 100644 cpu/atmega1284/build/fifo_read_block.o.dep create mode 100644 cpu/atmega1284/build/fifo_set_blocking.o create mode 100644 cpu/atmega1284/build/fifo_set_blocking.o.dep create mode 100644 cpu/atmega1284/build/fifo_set_timeout.o create mode 100644 cpu/atmega1284/build/fifo_set_timeout.o.dep create mode 100644 cpu/atmega1284/build/fifo_write.o create mode 100644 cpu/atmega1284/build/fifo_write.o.dep create mode 100644 cpu/atmega1284/build/fixpoint.o create mode 100644 cpu/atmega1284/build/fixpoint.o.dep create mode 100644 cpu/atmega1284/build/fp1616_smoother.o create mode 100644 cpu/atmega1284/build/fp1616_smoother.o.dep create mode 100644 cpu/atmega1284/build/fp4816_from_float.o create mode 100644 cpu/atmega1284/build/fp4816_from_float.o.dep create mode 100644 cpu/atmega1284/build/fp4816_from_float_asm.o create mode 100644 cpu/atmega1284/build/fp4816_from_float_asm.o.dep create mode 100644 cpu/atmega1284/build/fp4816_pid.o create mode 100644 cpu/atmega1284/build/fp4816_pid.o.dep create mode 100644 cpu/atmega1284/build/fp4816_pow.o create mode 100644 cpu/atmega1284/build/fp4816_pow.o.dep create mode 100644 cpu/atmega1284/build/fp4816_sincos_slow.o create mode 100644 cpu/atmega1284/build/fp4816_sincos_slow.o.dep create mode 100644 cpu/atmega1284/build/fp4816_smoother.o create mode 100644 cpu/atmega1284/build/fp4816_smoother.o.dep create mode 100644 cpu/atmega1284/build/fp4816_taylor.o create mode 100644 cpu/atmega1284/build/fp4816_taylor.o.dep create mode 100644 cpu/atmega1284/build/fp4816_taylor_element.o create mode 100644 cpu/atmega1284/build/fp4816_taylor_element.o.dep create mode 100644 cpu/atmega1284/build/fp4816_to_a.o create mode 100644 cpu/atmega1284/build/fp4816_to_a.o.dep create mode 100644 cpu/atmega1284/build/fp4816_to_float.o create mode 100644 cpu/atmega1284/build/fp4816_to_float.o.dep create mode 100644 cpu/atmega1284/build/fp4816_to_float_asm.o create mode 100644 cpu/atmega1284/build/fp4816_to_float_asm.o.dep create mode 100644 cpu/atmega1284/build/fp_acos.o create mode 100644 cpu/atmega1284/build/fp_acos.o.dep create mode 100644 cpu/atmega1284/build/fp_asin.o create mode 100644 cpu/atmega1284/build/fp_asin.o.dep create mode 100644 cpu/atmega1284/build/fp_normalize_arc.o create mode 100644 cpu/atmega1284/build/fp_normalize_arc.o.dep create mode 100644 cpu/atmega1284/build/fp_sin.o create mode 100644 cpu/atmega1284/build/fp_sin.o.dep create mode 100644 cpu/atmega1284/build/fp_sin_lookup.o create mode 100644 cpu/atmega1284/build/fp_sin_lookup.o.dep create mode 100644 cpu/atmega1284/build/free_ts.o create mode 100644 cpu/atmega1284/build/free_ts.o.dep create mode 100644 cpu/atmega1284/build/get_csr.o create mode 100644 cpu/atmega1284/build/get_csr.o.dep create mode 100644 cpu/atmega1284/build/get_csr_buffer.o create mode 100644 cpu/atmega1284/build/get_csr_buffer.o.dep create mode 100644 cpu/atmega1284/build/getpc.o create mode 100644 cpu/atmega1284/build/getpc.o.dep create mode 100644 cpu/atmega1284/build/hf3_flex_source.o create mode 100644 cpu/atmega1284/build/hf3_flex_source.o.dep create mode 100644 cpu/atmega1284/build/hf3_values.o create mode 100644 cpu/atmega1284/build/hf3_values.o.dep create mode 100644 cpu/atmega1284/build/i2c.o create mode 100644 cpu/atmega1284/build/i2c.o.dep create mode 100644 cpu/atmega1284/build/i2cee_define_file.o create mode 100644 cpu/atmega1284/build/i2cee_define_file.o.dep create mode 100644 cpu/atmega1284/build/i2cee_identify.o create mode 100644 cpu/atmega1284/build/i2cee_identify.o.dep create mode 100644 cpu/atmega1284/build/i2cee_load.o create mode 100644 cpu/atmega1284/build/i2cee_load.o.dep create mode 100644 cpu/atmega1284/build/i2cee_save.o create mode 100644 cpu/atmega1284/build/i2cee_save.o.dep create mode 100644 cpu/atmega1284/build/i2cee_size.o create mode 100644 cpu/atmega1284/build/i2cee_size.o.dep create mode 100644 cpu/atmega1284/build/i2ceeprom.o create mode 100644 cpu/atmega1284/build/i2ceeprom.o.dep create mode 100644 cpu/atmega1284/build/ifact.o create mode 100644 cpu/atmega1284/build/ifact.o.dep create mode 100644 cpu/atmega1284/build/log_csr.o create mode 100644 cpu/atmega1284/build/log_csr.o.dep create mode 100644 cpu/atmega1284/build/m1284_timer0.o create mode 100644 cpu/atmega1284/build/m1284_timer0.o.dep create mode 100644 cpu/atmega1284/build/malloc_ts.o create mode 100644 cpu/atmega1284/build/malloc_ts.o.dep create mode 100644 cpu/atmega1284/build/motordefs.o create mode 100644 cpu/atmega1284/build/motordefs.o.dep create mode 100644 cpu/atmega1284/build/mutex_lock.o create mode 100644 cpu/atmega1284/build/mutex_lock.o.dep create mode 100644 cpu/atmega1284/build/mutex_lock_indirect.o create mode 100644 cpu/atmega1284/build/mutex_lock_indirect.o.dep create mode 100644 cpu/atmega1284/build/mutex_release.o create mode 100644 cpu/atmega1284/build/mutex_release.o.dep create mode 100644 cpu/atmega1284/build/mutex_release_indirect.o create mode 100644 cpu/atmega1284/build/mutex_release_indirect.o.dep create mode 100644 cpu/atmega1284/build/mutex_try_lock.o create mode 100644 cpu/atmega1284/build/mutex_try_lock.o.dep create mode 100644 cpu/atmega1284/build/outputs.o create mode 100644 cpu/atmega1284/build/outputs.o.dep create mode 100644 cpu/atmega1284/build/pipe.o create mode 100644 cpu/atmega1284/build/pipe.o.dep create mode 100644 cpu/atmega1284/build/pipe_clear.o create mode 100644 cpu/atmega1284/build/pipe_clear.o.dep create mode 100644 cpu/atmega1284/build/pipe_empty.o create mode 100644 cpu/atmega1284/build/pipe_empty.o.dep create mode 100644 cpu/atmega1284/build/pipe_full.o create mode 100644 cpu/atmega1284/build/pipe_full.o.dep create mode 100644 cpu/atmega1284/build/pipe_options.o create mode 100644 cpu/atmega1284/build/pipe_options.o.dep create mode 100644 cpu/atmega1284/build/rb2_api_rx.o create mode 100644 cpu/atmega1284/build/rb2_api_rx.o.dep create mode 100644 cpu/atmega1284/build/rb2_clean_pending.o create mode 100644 cpu/atmega1284/build/rb2_clean_pending.o.dep create mode 100644 cpu/atmega1284/build/rb2_convert.o create mode 100644 cpu/atmega1284/build/rb2_convert.o.dep create mode 100644 cpu/atmega1284/build/rb2_create_usart_link.o create mode 100644 cpu/atmega1284/build/rb2_create_usart_link.o.dep create mode 100644 cpu/atmega1284/build/rb2_default_register_proc.o create mode 100644 cpu/atmega1284/build/rb2_default_register_proc.o.dep create mode 100644 cpu/atmega1284/build/rb2_handle_request.o create mode 100644 cpu/atmega1284/build/rb2_handle_request.o.dep create mode 100644 cpu/atmega1284/build/rb2_handle_response.o create mode 100644 cpu/atmega1284/build/rb2_handle_response.o.dep create mode 100644 cpu/atmega1284/build/rb2_init.o create mode 100644 cpu/atmega1284/build/rb2_init.o.dep create mode 100644 cpu/atmega1284/build/rb2_known_endpoints.o create mode 100644 cpu/atmega1284/build/rb2_known_endpoints.o.dep create mode 100644 cpu/atmega1284/build/rb2_loop_ident.o create mode 100644 cpu/atmega1284/build/rb2_loop_ident.o.dep create mode 100644 cpu/atmega1284/build/rb2_loop_rx.o create mode 100644 cpu/atmega1284/build/rb2_loop_rx.o.dep create mode 100644 cpu/atmega1284/build/rb2_loop_tx.o create mode 100644 cpu/atmega1284/build/rb2_loop_tx.o.dep create mode 100644 cpu/atmega1284/build/rb2_pool.o create mode 100644 cpu/atmega1284/build/rb2_pool.o.dep create mode 100644 cpu/atmega1284/build/rb2_request.o create mode 100644 cpu/atmega1284/build/rb2_request.o.dep create mode 100644 cpu/atmega1284/build/rb2_router.o create mode 100644 cpu/atmega1284/build/rb2_router.o.dep create mode 100644 cpu/atmega1284/build/rt_authenticate.o create mode 100644 cpu/atmega1284/build/rt_authenticate.o.dep create mode 100644 cpu/atmega1284/build/runtime.o create mode 100644 cpu/atmega1284/build/runtime.o.dep create mode 100644 cpu/atmega1284/build/runtime_register_proc.o create mode 100644 cpu/atmega1284/build/runtime_register_proc.o.dep create mode 100644 cpu/atmega1284/build/runtime_set_running.o create mode 100644 cpu/atmega1284/build/runtime_set_running.o.dep create mode 100644 cpu/atmega1284/build/seconds_from_midnight.o create mode 100644 cpu/atmega1284/build/seconds_from_midnight.o.dep create mode 100644 cpu/atmega1284/build/smooth.o create mode 100644 cpu/atmega1284/build/smooth.o.dep create mode 100644 cpu/atmega1284/build/spi_driver.o create mode 100644 cpu/atmega1284/build/spi_driver.o.dep create mode 100644 cpu/atmega1284/build/spinlock.o create mode 100644 cpu/atmega1284/build/spinlock.o.dep create mode 100644 cpu/atmega1284/build/sprintf.o create mode 100644 cpu/atmega1284/build/sprintf.o.dep create mode 100644 cpu/atmega1284/build/systick.o create mode 100644 cpu/atmega1284/build/systick.o.dep create mode 100644 cpu/atmega1284/build/systick_secs.o create mode 100644 cpu/atmega1284/build/systick_secs.o.dep create mode 100644 cpu/atmega1284/build/systick_set_handler.o create mode 100644 cpu/atmega1284/build/systick_set_handler.o.dep create mode 100644 cpu/atmega1284/build/systick_set_handler_sec.o create mode 100644 cpu/atmega1284/build/systick_set_handler_sec.o.dep create mode 100644 cpu/atmega1284/build/systick_set_us.o create mode 100644 cpu/atmega1284/build/systick_set_us.o.dep create mode 100644 cpu/atmega1284/build/systick_ticks.o create mode 100644 cpu/atmega1284/build/systick_ticks.o.dep create mode 100644 cpu/atmega1284/build/thread_alloc.o create mode 100644 cpu/atmega1284/build/thread_alloc.o.dep create mode 100644 cpu/atmega1284/build/thread_kill.o create mode 100644 cpu/atmega1284/build/thread_kill.o.dep create mode 100644 cpu/atmega1284/build/thread_set_periodic.o create mode 100644 cpu/atmega1284/build/thread_set_periodic.o.dep create mode 100644 cpu/atmega1284/build/thread_set_priority.o create mode 100644 cpu/atmega1284/build/thread_set_priority.o.dep create mode 100644 cpu/atmega1284/build/thread_sleep_irq.o create mode 100644 cpu/atmega1284/build/thread_sleep_irq.o.dep create mode 100644 cpu/atmega1284/build/thread_starter.o create mode 100644 cpu/atmega1284/build/thread_starter.o.dep create mode 100644 cpu/atmega1284/build/thread_stat.o create mode 100644 cpu/atmega1284/build/thread_stat.o.dep create mode 100644 cpu/atmega1284/build/thread_wake.o create mode 100644 cpu/atmega1284/build/thread_wake.o.dep create mode 100644 cpu/atmega1284/build/timer_cancel.o create mode 100644 cpu/atmega1284/build/timer_cancel.o.dep create mode 100644 cpu/atmega1284/build/timer_create.o create mode 100644 cpu/atmega1284/build/timer_create.o.dep create mode 100644 cpu/atmega1284/build/timer_create_ex.o create mode 100644 cpu/atmega1284/build/timer_create_ex.o.dep create mode 100644 cpu/atmega1284/build/timer_start.o create mode 100644 cpu/atmega1284/build/timer_start.o.dep create mode 100644 cpu/atmega1284/build/unix2datetime.o create mode 100644 cpu/atmega1284/build/unix2datetime.o.dep create mode 100644 cpu/atmega1284/build/unixtime.o create mode 100644 cpu/atmega1284/build/unixtime.o.dep create mode 100644 cpu/atmega1284/build/usart.o create mode 100644 cpu/atmega1284/build/usart.o.dep create mode 100644 cpu/atmega1284/build/usart_configure.o create mode 100644 cpu/atmega1284/build/usart_configure.o.dep create mode 100644 cpu/atmega1284/build/usart_head.o create mode 100644 cpu/atmega1284/build/usart_head.o.dep create mode 100644 cpu/atmega1284/build/usart_options.o create mode 100644 cpu/atmega1284/build/usart_options.o.dep create mode 100644 cpu/atmega1284/build/wait_async_set.o create mode 100644 cpu/atmega1284/build/wait_async_set.o.dep create mode 100644 cpu/atmega1284/build/wait_async_test.o create mode 100644 cpu/atmega1284/build/wait_async_test.o.dep create mode 100644 cpu/atmega1284/build/wait_ms.o create mode 100644 cpu/atmega1284/build/wait_ms.o.dep create mode 100644 cpu/atmega1284/build/wcslen.o create mode 100644 cpu/atmega1284/build/wcslen.o.dep create mode 100644 cpu/atmega1284/build/yield.o create mode 100644 cpu/atmega1284/build/yield.o.dep create mode 100755 cpu/atmega1284/global.make create mode 100755 cpu/atmega1284p/Makefile create mode 100755 cpu/atmega1284p/global.make create mode 100755 cpu/atmega1284p/include/cpu/systick.h create mode 100644 cpu/atmega1284p/src/.m1284_timer0.c.dep create mode 100755 cpu/atmega1284p/src/m1284_timer0.c create mode 100755 cpu/atmega32u4/Makefile create mode 100755 cpu/atmega32u4/global.make create mode 100644 cpu/atmega32u4/include/cpu/systick.h create mode 100755 cpu/atmega8/Makefile create mode 100755 cpu/atmega8/global.make create mode 100755 cpu/atmega8/include/cpu/systick.h create mode 100755 timer/at90timer0/Makefile create mode 100644 timer/at90timer0/src/at90usb_timer0.c create mode 100755 timer/m8timer2/Makefile create mode 100644 timer/m8timer2/src/m8timer2.c create mode 100755 usart/at90/Makefile create mode 100644 usart/at90/src/.at90_usart.c.dep create mode 100644 usart/at90/src/at90_usart.c create mode 100755 usb/Makefile create mode 100644 usb/include/usb/cdc_serial.h create mode 100644 usb/include/usb/servicelink.h create mode 100644 usb/include/usb/types.h create mode 100644 usb/include/usb/usb.h create mode 100755 usb/include/usb/usb_configuration.h create mode 100644 usb/include/usb/usb_defs.h create mode 100644 usb/include/usb/usb_descriptor.h create mode 100644 usb/include/usb/usb_device.h create mode 100644 usb/include/usb/usb_device_avr.h create mode 100644 usb/include/usb/usb_endpoint.h create mode 100755 usb/include/usb/usb_interrupt.h create mode 100644 usb/include/usb/usb_spec.h create mode 100644 usb/include/usb/usb_spec_cdc.h create mode 100644 usb/src/servicelink.c create mode 100644 usb/src/servicelink_v2.c create mode 100755 usb/src/usb.c create mode 100644 usb/src/usb_cdc_class_setup.c create mode 100644 usb/src/usb_descriptor.c create mode 100644 usb/src/usb_device.c create mode 100644 usb/src/usb_device_avr.c create mode 100644 usb/src/usb_device_configure.c create mode 100644 usb/src/usb_endpoint.c create mode 100644 usb/src/usb_endpoint_stream.c create mode 100644 usb/src/usb_ll.c create mode 100644 usb/src/usb_ll_endpoint.c create mode 100644 usb/src/usb_ll_setup.c diff --git a/can/Makefile b/can/Makefile new file mode 100755 index 0000000..e69de29 diff --git a/can/include/can/can.h b/can/include/can/can.h new file mode 100644 index 0000000..5db9a89 --- /dev/null +++ b/can/include/can/can.h @@ -0,0 +1,110 @@ +/** + * can/can.h avr8 can bus interface api + * + * (c) 2016 Harald Christian Joachim Wolff + * + **/ +#pragma once + +#include +#include +#include + +#include + + +#include + +#define CAN_SPEED_MASK 0x000F +#define CAN_1MBIT 0x0001 +#define CAN_125KBIT 0x0002 + +typedef union { + uint8_t bytes[4]; + uint16_t words[2]; + struct { + uint32_t addr:29; + uint32_t rtr:1; + uint32_t reserved:1; + uint32_t ide:1; + }; + uint32_t value; +} canid_t; + +typedef struct { + uint8_t tx:1; + uint8_t error:1; + uint8_t reserve:2; + uint8_t len:4; +} canflags_t; + +typedef union { + uint8_t bytes[8]; + uint16_t words[4]; + uint32_t dwords[2]; + uint64_t qword; + + int8_t i8[8]; + int16_t i16[4]; + int32_t i32[2]; + int64_t i64; +} canpayload_t; + +typedef struct { + + canflags_t flags; + canid_t id; + canpayload_t + payload; + + uint16_t frame_id; + + list_t list; + + thread_t *notify; + +} canframe_t; + +typedef struct { + canid_t id; + canid_t mask; + + uint16_t last_seen_frame_id; + + list_t list; +} canfilter_t; + +typedef struct { + uint32_t setup; + + int rxpool_next; + int rxpool_length; + canframe_t *rxpool; + + int frame_id_tx, + frame_id_rx; + + list_t rx_filters; + list_t tx_queue; + +} _can_device_t; + +int can_init_device(uint32_t config,int rxpool_length); +uint32_t can_get_device_config(void); + +int can_send(canframe_t *frame); +int can_send_simple(canid_t cid,uint8_t len,canpayload_t payload); + +int can_recv(canfilter_t *filter,canframe_t *frame); +int can_recv_timeout(canfilter_t *filter,canframe_t *frame,int ms); + + +/** OLD API **/ + +void can_interface_enable(void) __attribute__((weak)); +void can_interface_disable(void) __attribute__((weak)); + + + + + diff --git a/can/include/can/cannode.h b/can/include/can/cannode.h new file mode 100755 index 0000000..fb51deb --- /dev/null +++ b/can/include/can/cannode.h @@ -0,0 +1,144 @@ +#pragma once + +/** +* +* can/cannode.h Register Based CAN Communication +* +* (c) 2016 Harald Christian Joachim Wolff +* +* Beschreibung: +* +* Ein CAN-Knoten erhält eine Identität (0-15). +* Es können Werte der Typen Int32/Float gelesen und geschrieben werden, hierfür wird auf dem Knoten das RB2 System genutzt. +* Es findet auf der Knotenseite kein Routing statt! +* +* Es wird nicht durch einen RB2_LINK kommuniziert, dadurch entsteht die Möglichkeit eine Achseninsel zu errichten in welcher z.B. ein weiterer Motor via HF3/RB2 angeschlossen ist. +* +* TOP +* | +* +---MOTOR +* | +* +--[CANNODE]--LUB2400 +* | | +* | +---MOTOR +* | +* +--[CANNOD]--LUB2400 +* | | +* | +---MOTOR +* +---FRONTPANEL +* +* CAN-Knoten senden grundsätzlich nur nach Aufforderung. Es findet keine selbstständige Sendung statt! +* +* +* Die CANID (Object-Identifier: OID) wird nach folgendem Schema erstellt: +* +* Bit Inhalt +* -------------------------------------- +* 0..15 Field / Register No +* 16..19 Reserved 0 +* 20..23 Ax identity +* 24..28 0 +* +* Beschreibung der Nachrichtentypen: +* +* Bezeichnung Länge RTR Beschreibung +* Payload +* -------------------------------------------------------- +* +* READ 0 Ja Anfordern eines Registerwertes +* +* READ EXT. 2 Nein Anfordern von aufeinanderfolgenden Registerwerten +* 0-1 +* +* WRITE 6 Nein Schreibanforderung +* 0-3 +* 4 Typ von +* 5 Reserviert 0 +* +* REPLY 5 Nein Mitteilung über aktuellen Registerwert +* 0-3 +* 4 Typ von +* +* Kommunikationsbeschreibung +* -------------------------- +* +* Wert lesen: +* 1. READ +* 2. REPLY +* +* Wert schreiben: +* 1. WRITE +* 2. REPLY +* +* Wertegruppe lesen: +* 1. READ EXT. +* 2. x REPLY +* +* +* +* +**/ + +#include +#include + +#include + +#define CNT_INT32 RDT_INT32 +#define CNT_FLOAT RDT_FLOAT + +typedef struct { + int identity; + + register_node_proc + node_proc; + + canfilter_t + rxfilter; + +} cannode_t; + +/** + * @brief Erstellt ein cannode_t objekt. + * @param identity Die Identität des CAN Node (0..15) + * @return 0 bei Erfolg, sonst -E... + */ +cannode_t* can_node_create(int identity,register_node_proc node_proc); + +/** + * @brief Behandelt empfangene Nachrichten für einen CAN Node + * @param cn cannode_t objekt + * @return 0 bei Erfolg, sonst -E... + */ +int can_node_handler(cannode_t *cn); + + +int can_node_read (int node,unsigned int reg,uint8_t *type,void *buffer); +int can_node_write (int node,unsigned int reg,uint8_t type,void *buffer); + +static inline int can_node_write_int32(int node,unsigned int reg,int32_t value){ + return can_node_write( node, reg, CNT_INT32, &value ); +}; + +static inline int can_node_write_float(int node,unsigned int reg,float value){ + return can_node_write( node, reg, CNT_FLOAT, &value ); +}; + +static inline int can_node_read_int32(int node,unsigned int reg,int32_t *value){ + uint8_t t = CNT_INT32; + assert( can_node_read( node, reg, &t, value ) ); + if (t != CNT_INT32){ + *value = (int32_t)*(float*)value; + }; + return ESUCCESS; +}; + +static inline int can_node_read_float(int node,unsigned int reg,float *value){ + uint8_t t = CNT_FLOAT; + assert( can_node_read( node, reg, &t, value ) ); + if (t != CNT_FLOAT){ + *value = (float)*(int32_t*)value; + }; + return ESUCCESS; +}; + diff --git a/can/include/can/jetcan.h b/can/include/can/jetcan.h new file mode 100755 index 0000000..d3993c1 --- /dev/null +++ b/can/include/can/jetcan.h @@ -0,0 +1,112 @@ +#pragma once + +#include +#include +#include + +#include + +/** Constants... **/ +#define J_LONG 11 +#define J_FLOAT 12 + +typedef struct jetterSlave +{ + uint16_t refID; + uint8_t modcode; + +} JSlave; + + +typedef struct jetterParm +{ + uint8_t slave; + uint16_t parm; + uint8_t flags; + + uint32_t lastReadValue; +} JParm; + +typedef struct jetcan_state +{ + uint8_t initialized:1; + + MUTEX mutex; +} JState; + +struct jetcan_request +{ + list_t list; + + uint8_t read:1; + uint8_t write:1; + uint8_t typint:1; + uint8_t typfloat:1; + + uint8_t slave; + uint16_t register_no; + + uint8_t retry; + + union { + int32_t i32; + float f32; + }; +}; + +struct jetcan_status +{ + list_t requests; +}; + +struct _jetcan { + MUTEX lock; + uint8_t nSlaves; + JSlave slaves[4]; +}; + +extern struct _jetcan jetcan; + + +extern int32_t _dbg_jetcan_requests, + _dbg_jetcan_misses, + _dbg_jetcan_timeouts, + _dbg_jetcan_rtt, + _dbg_jetcan_rtt_min, + _dbg_jetcan_rtt_max; + + +/* jSetCModeCallback() + Callback um die CMODE0 und CMODE1 Leitungen zu setzen (Bits 0 + 1 von cmode) +*/ +typedef void (*jSetCModeCallback)(uint8_t cmode); + +/* jSetRegister32Ex - Write Register Value to Slave (via CAN) with Result */ +int jSetRegister32Ex(uint8_t slave,uint16_t parm,void *pValue,uint8_t type); +int jSetRegister32Exl(uint8_t slave,uint16_t parm,int32_t value); +int jSetRegister32Exd(uint8_t slave,uint16_t parm,float value); + +/* jReadRegister32Ex - Read Register Value to Slave (via CAN) with Result */ +int jReadRegister32Ex(uint8_t slave,uint16_t parm,void *pValue,uint8_t* type); +int jReadRegister32Exl(uint8_t slave,uint16_t parm,int32_t *value); +int jReadRegister32Exd(uint8_t slave,uint16_t parm,float *value); + + +/* Bit Manipulationen */ +void jSetRegisterBit(uint8_t slave,uint16_t parm,uint8_t bit); +void jClearRegisterBit(uint8_t slave,uint16_t parm,uint8_t bit); +int jReadRegisterBit(uint8_t slave,uint16_t parm,uint8_t bit); + +/* JM2XX Command */ +int jCommand(uint8_t slave,uint32_t command); + +/** Initialization **/ +int jcan_setup_bus(jSetCModeCallback cmodecallback); +int jcan_num_slaves(void); +JSlave* jcan_slave(uint8_t num); + +int jcan_lock(void); +int jcan_unlock(void); + + + diff --git a/can/include/can/jm2xx.h b/can/include/can/jm2xx.h new file mode 100755 index 0000000..d9bc26e --- /dev/null +++ b/can/include/can/jm2xx.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/can/include/rb2/can.h b/can/include/rb2/can.h new file mode 100755 index 0000000..f92ed18 --- /dev/null +++ b/can/include/rb2/can.h @@ -0,0 +1,19 @@ +/** + * rb2/can.h CAN Bus Unterstützung für regbus2 + * + * (c) 2016 Harald Christian Joachim Wolff + * + **/ + +#include + +#define RB2_CANLINK_IDDEPTH 8 + +struct rb2_can_link { + RB2_LINK link; + + uint16_t idmasks[RB2_CANLINK_IDDEPTH]; + + CANREQUEST *canrx[2]; +}; + diff --git a/can/src/candevice.c b/can/src/candevice.c new file mode 100644 index 0000000..8df3855 --- /dev/null +++ b/can/src/candevice.c @@ -0,0 +1,410 @@ +/** + * candevice.c + * @param config + */ + +#include +#include +#include +#include + +#include + +#include + +#include +#include + + +// How many mailboxes to use for RX +#define CAN_RX_MAILBOXES 12 + + +static _can_device_t + device; + +int can_prepare_mailbox_rx(int mailbox); + +uint32_t can_get_device_config(void){ + return device.setup; +}; + +int can_init_device(uint32_t config,int rxpool_length) { + uint8_t n,i; + + memset( &device, 0x00, sizeof(device) ); + + list_init( &(device.tx_queue) ); + + for (n=0;n<16;n++) + { + CANPAGE = (n << 4); + + CANCDMOB= 0x00; + CANSTMOB= 0x00; + CANIDT1 = 0x00; + CANIDT2 = 0x00; + CANIDT3 = 0x00; + CANIDT4 = 0x00; + CANIDM1 = 0x00; + CANIDM2 = 0x00; + CANIDM3 = 0x00; + CANIDM4 = 0x00; + CANSTMH = 0x00; + CANSTML = 0x00; + + for (i=0;i<8;i++) + CANMSG = 0x00; + }; + + CANGCON = _BV(SWRES); + + device.setup = config; + device.rxpool = malloc( sizeof(canframe_t) * rxpool_length ); + if (device.rxpool == NULL){ + return -ENOMEM; + }; + memset( device.rxpool, 0x00, sizeof(canframe_t) * rxpool_length ); + device.rxpool_length = rxpool_length; + + switch (__freq_cpu) + { + case 16000000: + switch (config & CAN_SPEED_MASK) + { + case CAN_1MBIT: + CANBT1 = 0x02; + CANBT2 = 0x04; + CANBT3 = 0x13; + break; + case CAN_125KBIT: + CANBT1 = 0x0E; + CANBT2 = 0x0C; + CANBT3 = 0x37; + break; + }; + break; + case 8000000: + switch (config & CAN_SPEED_MASK) + { + case CAN_1MBIT: + CANBT1 = 0x00; + CANBT2 = 0x04;// 0x04; + CANBT3 = 0x12; //0x12; + break; + case CAN_125KBIT: + CANBT1 = 0x0E; //0x06; + CANBT2 = 0x04; //0x0c; + CANBT3 = 0x13; //0x37; + break; + }; + break; + }; + + CANTCON = CANBT1; + + CANGIE = _BV(ENIT) | _BV(ENRX) | _BV(ENTX) | _BV(ENERR); + CANIE1 = 0x7F; + CANIE2 = 0xFF; + + CANGCON |= _BV(ENASTB); + + { + ATOMIC + + for (n=0; n < CAN_RX_MAILBOXES; n++){ + can_prepare_mailbox_rx(n); + } + + } + + CANPAGE = 0; + + return ESUCCESS; +}; + + + +static inline uint32_t canid_to_register(canid_t* cid){ + bits32_t raw; + + raw.ui32 = cid->addr; + + if (cid->ide){ + raw.ui32 <<= 3; + } else + { + raw.ui32 <<= 21; + }; + + if (cid->rtr) { + raw.ui8[0] |= _BV(RTRTAG); + }; + + return raw.ui32; +}; + +static inline void canid_from_register(canid_t* cid){ + bits32_t raw; + + raw.ui32 = CANIDT; + + cid->ide = (CANCDMOB & _BV(IDE)) ? 1 : 0; + if (cid->ide){ + cid->addr = raw.ui32 >> 3; + } else { + cid->addr = raw.ui16[1] >> 5; + }; + cid->rtr = (raw.ui8[0] & _BV(RTRTAG)) ? 1 : 0; + cid->reserved = 0; +}; + +/** + * @brief test canframe for matching canfilter criteria + * @param filter canfilter to be used for test + * @param frame frame to be tested + * @return 1 if filter matches frame, 0 if no match + */ +static inline int can_filter_match(canfilter_t *filter,canframe_t *frame){ + canid_t id1,id2; + + id1.value = filter->id.value & filter->mask.value; + id2.value = frame->id.value & filter->mask.value; + + return (id1.value == id2.value) ? 1 : 0; +}; + +int can_prepare_mailbox_rx(int mailbox) { + + ATOMIC + + if (mailbox < 15) + { + CANPAGE = mailbox << 4; + + CANSTMOB = 0x00; + CANCDMOB = 0x00; + + CANIDT = 0; + CANIDM = 0; + + CANCDMOB = _BV(CONMOB1); + + } else { + return -EPARAM; + }; + + return ESUCCESS; +}; + +/** + * @brief copy frame to frame_t* from hardware registers + * @param frame target frame_t + * @return 0 on success + */ +int can_frame_from_mailbox(canframe_t *frame){ + uint8_t n; + + frame->frame_id = device.frame_id_rx++; + frame->flags.len = (CANCDMOB & 0x0F); + canid_from_register( &(frame->id) ); + + + for (n=0;n<8;n++){ + frame->payload.bytes[n] = CANMSG; + }; + + return ESUCCESS; +}; + +int can_next_frame_tx(void){ + canframe_t *frame = list_first_entry( &(device.tx_queue), canframe_t, list ); + + uint8_t tmp = CANPAGE; + CANPAGE = (14 << 4); + + CANSTMOB = 0x00; + CANCDMOB = 0x00; + + if (frame){ + uint8_t n; + + CANCDMOB = (frame->flags.len & 0x0f) | (frame->id.ide ? _BV(IDE) : 0); + + CANIDT = canid_to_register( &frame->id ); + for (n=0;n<8;n++){ + CANMSG = frame->payload.bytes[n]; + }; + + CANCDMOB |= _BV(CONMOB0); + }; + + CANPAGE = tmp; + + return ESUCCESS; +}; + + +void can_vect(void){ + uint16_t sit = CANSIT2 | (CANSIT1 << 8); + uint8_t n; + + uint8_t cptemp = CANPAGE; + + if (sit & 0x7FFF) + { + for (n=0;n<15;n++) + { + if (sit & _BV(n)) + { + CANPAGE = (n << 4); + CANCDMOB &= ~(_BV(CONMOB0) | _BV(CONMOB1)); + + if (n < CAN_RX_MAILBOXES){ + if (CANSTMOB & 0x1F) { + // Ein Fehler trat auf + + } else { + // Empfangen + can_frame_from_mailbox( &(device.rxpool[ device.rxpool_next++ ]) ); + + if (device.rxpool_next >= device.rxpool_length){ + device.rxpool_next = 0; + }; + }; + can_prepare_mailbox_rx(n); + + } else if (n == 14) { + + canframe_t* tx = list_first_entry( &(device.tx_queue), canframe_t, list); + if (tx){ + tx->frame_id = device.frame_id_tx++; + tx->flags.error = (CANSTMOB & 0x1F) ? 1 : 0; + tx->flags.tx = 0; + list_remove( &(tx->list) ); + thread_wake( tx->notify ); + }; + can_next_frame_tx(); + + }; + }; + }; + }; + + CANPAGE = cptemp; +}; + + +VECT(CANIT_vect){ + can_vect(); +}; + + + +/* USER API */ + +int can_send(canframe_t *frame){ + if (frame){ + ATOMIC + + int empty = list_is_empty( &(device.tx_queue) ); + + frame->notify = current_thread(); + list_append( &(frame->list ), &(device.tx_queue) ); + + if (empty){ + can_next_frame_tx(); + }; + + wait_ms( 10 ); + + if (!list_is_empty( &(frame->list) ) ){ + list_remove( &(frame->list) ); + }; + + if (frame->flags.tx || frame->flags.error){ + return -EFAIL; + }; + + return ESUCCESS; + }; + return -EFAIL; +}; + +int can_send_simple(canid_t cid,uint8_t len,canpayload_t payload){ + canframe_t *frame = malloc(sizeof(canframe_t)); + int r; + + if (frame){ + memset( frame, 0x00, sizeof(canframe_t) ); + frame->flags.tx = 1; + frame->flags.len = len; + frame->id = cid; + frame->payload = payload; + + r = can_send( frame ); + + free(frame); + + return r; + } else { + return -ENOMEM; + } +}; + +int can_recv(canfilter_t *filter,canframe_t *frame){ + ATOMIC + + int n; + + if (!frame){ + return -ENULLPTR; + } + + n = device.rxpool_next; + do { + if ((device.rxpool[n].frame_id > filter->last_seen_frame_id) || (n < device.rxpool_next)){ + + if (can_filter_match( filter, &(device.rxpool[n]) )){ + *frame = device.rxpool[n]; + + filter->last_seen_frame_id = frame->frame_id; + + memset( &device.rxpool[n], 0x00, sizeof(canframe_t) ); + + return ESUCCESS; + }; + + }; + + filter->last_seen_frame_id = device.rxpool[n].frame_id; + + n++; + if (n == device.rxpool_length){ + n = 0; + }; + + } while (device.rxpool_next != n); + + return -EFAIL; +}; + +int can_recv_timeout(canfilter_t *filter,canframe_t *frame,int ms){ + int n,r; + + for (n = 0; n < ms; n++){ + r = can_recv( filter, frame ); + if (r == ESUCCESS){ + return ESUCCESS; + }; + wait_ms(1); + }; + + return -ETIMEOUT; +}; + + + + + + diff --git a/can/src/cannode.c b/can/src/cannode.c new file mode 100755 index 0000000..1dda29e --- /dev/null +++ b/can/src/cannode.c @@ -0,0 +1,137 @@ +#include +#include + +#include +#include + +#include +#include + +cannode_t* can_node_create(int identity,register_node_proc node_proc){ + cannode_t* cn = malloc(sizeof(cannode_t)); + if (cn){ + memset(cn,0x00,sizeof(cannode_t)); + + cn->identity = identity & 0x0F; + cn->node_proc = node_proc; + cn->rxfilter = (canfilter_t){ + id: { + addr: ((int32_t)cn->identity) << 20, + ide: 1 + }, + mask: { + addr: 0x1FFF0000l, + ide: 1 + } + }; + }; + return cn; +}; + +int can_node_received(cannode_t *cn,canframe_t *frame){ + unsigned int regno = frame->id.addr & 0xffff; + + if (frame->id.rtr){ + + if (!cn->node_proc( RNPOP_READ, regno, &(frame->payload.bytes[4]), &(frame->payload.dwords[0]) )){ + + frame->id.rtr = 0; + frame->flags.len = 5; + + assert( can_send( frame ) ); + + }; + } else if (frame->flags.len == 2){ + int i; + + for (i=regno;i < (regno+frame->payload.words[0]); i++){ + + if (!cn->node_proc( RNPOP_READ, regno, &(frame->payload.bytes[4]), &(frame->payload.dwords[0]) )){ + + frame->id.rtr = 0; + frame->id.addr = (((int32_t)cn->identity) << 20)|(regno); + frame->flags.len = 5; + + assert( can_send( frame ) ); + }; + }; + } else if (frame->flags.len == 6){ + cn->node_proc( RNPOP_WRITE, regno, &(frame->payload.bytes[4]), &(frame->payload.dwords[0]) ); + + frame->id.rtr = 0; + frame->flags.len = 5; + + assert( can_send( frame ) ); + }; + + + return ESUCCESS; +}; + +int can_node_handler(cannode_t *cn){ + canframe_t frame; + + if (cn == NULL){ + return -ENULLPTR; + }; + + while (!can_recv(&(cn->rxfilter),&frame)){ + assert( can_node_received( cn, &frame ) ); + }; + + return ESUCCESS; +}; + + +int can_node_read (int node,unsigned int reg,uint8_t *type,void *buffer){ + canframe_t frame; + canfilter_t f; + + node &= 0x0f; + + memset( &frame, 0x00, sizeof(frame) ); + frame.id.addr = (((uint32_t)node)<<20) | (reg); + frame.id.ide = 1; + frame.id.rtr = 1; + frame.flags.len = 1; + frame.flags.tx = 1; + + assert( can_send( &frame ) ); + + f = (canfilter_t){ + id: { + addr: (((int32_t)node) << 20) | (reg), + ide: 1 + }, + mask: { + addr: 0x1FFFFFFFl, + ide: 1, + rtr: 1 + } + }; + + *(int32_t*)buffer = 0; + + assert( can_recv_timeout( &f, &frame, 10 )); + + *(int32_t*)buffer = frame.payload.dwords[0]; + *type = frame.payload.bytes[4]; + + return ESUCCESS; +}; + +int can_node_write (int node,unsigned int reg,uint8_t type,void *buffer){ + canframe_t frame; + + memset( &frame, 0x00, sizeof(frame) ); + frame.id.addr = (((int32_t)node)<<20) | (reg); + frame.id.ide = 1; + frame.id.rtr = 0; + frame.flags.len = 6; + frame.payload.dwords[0] = *(uint32_t*)buffer; + frame.payload.bytes[4] = type; + + can_send( &frame ); + + return ESUCCESS; +}; diff --git a/can/src/jetcan.c b/can/src/jetcan.c new file mode 100644 index 0000000..9d8d4cd --- /dev/null +++ b/can/src/jetcan.c @@ -0,0 +1,348 @@ +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include + +int32_t _dbg_jetcan_requests, + _dbg_jetcan_misses, + _dbg_jetcan_timeouts, + _dbg_jetcan_rtt, + _dbg_jetcan_rtt_min = 0x7FFFFFFFl, + _dbg_jetcan_rtt_max; + + +struct _jetcan jetcan; + +static canfilter_t + cf_jetcan_reply = + { + id: { + addr: 0x100 + }, + mask: { + addr: 0x7FF, + ide: 1 + } + }; + +#define IS_1MBIT ((can_get_device_config()&CAN_SPEED_MASK)==CAN_1MBIT) +#define IS_125KBIT ((can_get_device_config()&CAN_SPEED_MASK)==CAN_125KBIT) + + +int jcan_lock(void){ + mutex_lock( &jetcan.lock ); + return ESUCCESS; +}; +int jcan_unlock(void){ + mutex_release( &jetcan.lock ); + return ESUCCESS; +}; + +JSlave* jcan_slave(uint8_t num) +{ + if (num < jetcan.nSlaves){ + return &jetcan.slaves[num]; + }; + return NULL; +}; + +int jcan_num_slaves(void) +{ + return jetcan.nSlaves; +}; + + +int jcan_setup_bus(jSetCModeCallback cmodecallback) +{ + canfilter_t rxfilter = { + id: { + addr: 0x160 + }, + mask: { + addr: 0x7FF, + ide: 1 + } + }; + + canframe_t *mid_frame, + *stp_frame; + + mid_frame = malloc( sizeof(canframe_t) ); + if (!mid_frame){ + return -ENOMEM; + }; + stp_frame = malloc( sizeof(canframe_t) ); + if (!stp_frame){ + free(mid_frame); + return -ENOMEM; + }; + + jcan_lock(); + + jetcan.nSlaves = 0; + + cmodecallback(0x00); + wait_ms(250); + + if (IS_1MBIT){ + cmodecallback(0x01); + } else if (IS_125KBIT){ + cmodecallback(0x02); + }; + + do + { + if (!can_recv_timeout(&rxfilter, stp_frame, 100)){ + + memset( &jetcan.slaves[jetcan.nSlaves], + 0x00, + sizeof(JSlave)); + + jetcan.slaves[ jetcan.nSlaves ].refID = (0x0161 + jetcan.nSlaves); + jetcan.slaves[ jetcan.nSlaves ].modcode = stp_frame->payload.bytes[0]; + + *mid_frame = (canframe_t){ + flags: { + tx: 1, + len: 2 + }, + id: { + addr: 0x0161, + }, + payload: { + words: { + jetcan.slaves[ jetcan.nSlaves ].refID, + 0, + 0, + 0 + } + } + }; + + can_send( mid_frame ); + + jetcan.nSlaves++; + + continue; + }; + + } while (0); + + cmodecallback(0x03); + + jcan_unlock(); + + free( mid_frame ); + free( stp_frame ); + + return ESUCCESS; +}; + +int jReadRegister32Ex(uint8_t slave,uint16_t parm,void *pValue,uint8_t *type) +{ + JSlave *sl; + uint32_t *pui32 = (uint32_t*)pValue; + int retries = 3; + canframe_t req,reply; + systick_t st_start; + + MUTEXED( &(jetcan.lock) ); + + if (!parm){ + return -EPARAM; + }; + + _dbg_jetcan_requests++; + st_start = systick_ticks(); + + *pui32 = 0; + + while (!can_recv(&cf_jetcan_reply, &reply)); + + while (retries--){ + sl = jcan_slave(slave); + if (sl){ + + req = (canframe_t){ + flags: { tx: 1, len: 3 }, + id: { addr: sl->refID }, + payload: { + words: { + parm, + *type + } + } + }; + + can_send( &req ); + + if (can_recv_timeout( &cf_jetcan_reply, &reply, 25 ) == 0){ + *pui32 = reply.payload.dwords[0]; + *type = reply.payload.bytes[4]; + + st_start = systick_ticks() - st_start; + _dbg_jetcan_rtt += st_start; + _dbg_jetcan_rtt -= _dbg_jetcan_rtt >> 4; + + if (_dbg_jetcan_rtt_min > st_start) + _dbg_jetcan_rtt_min = st_start; + + if (_dbg_jetcan_rtt_max < st_start) + _dbg_jetcan_rtt_max = st_start; + + return ESUCCESS; + }; + _dbg_jetcan_misses++; + }; + }; + + _dbg_jetcan_timeouts++; + + return -EBUSY; +}; + +int jReadRegister32Exl(uint8_t slave,uint16_t parm,int32_t *value) +{ + uint8_t type = J_LONG; + int r; + + r = jReadRegister32Ex(slave,parm,value,&type); + if (r) + return r; + + if (type != J_LONG) + *value = (int32_t)(*(float*)value); + + return ESUCCESS; +}; + +int jReadRegister32Exd(uint8_t slave,uint16_t parm,float *value) +{ + uint8_t type = J_FLOAT; + int r; + + r = jReadRegister32Ex(slave,parm,value,&type); + if (r) + return r; + + if (type != J_FLOAT) + *value = (float)*(int32_t*)value; + + return ESUCCESS; +}; + +int jSetRegister32Ex(uint8_t slave,uint16_t parm,void *pValue,uint8_t type){ + JSlave *sl; + uint16_t *pw16 = (uint16_t*)pValue; + int retries = 3; + canframe_t req,reply; + systick_t st_start; + MUTEXED( &(jetcan.lock) ); + + if (!parm){ + return -EPARAM; + }; + + _dbg_jetcan_requests++; + st_start = systick_ticks(); + + while (!can_recv(&cf_jetcan_reply, &reply)); + + while (retries--){ + sl = jcan_slave(slave); + if (sl){ + + req = (canframe_t){ + flags: { tx: 1, len: 7 }, + id: { addr: sl->refID }, + payload: { + words: { + parm, + pw16[0], + pw16[1], + type + } + } + }; + + can_send( &req ); + + if (can_recv_timeout( &cf_jetcan_reply, &reply, 10 ) == 0){ + + st_start = systick_ticks() - st_start; + _dbg_jetcan_rtt += st_start; + _dbg_jetcan_rtt -= _dbg_jetcan_rtt >> 4; + + if (_dbg_jetcan_rtt_min > st_start) + _dbg_jetcan_rtt_min = st_start; + + if (_dbg_jetcan_rtt_max < (int32_t)st_start) + _dbg_jetcan_rtt_max = st_start; + + return ESUCCESS; + }; + _dbg_jetcan_misses++; + }; + }; + + _dbg_jetcan_timeouts++; + + return -EBUSY; +}; + +int jSetRegister32Exl(uint8_t slave,uint16_t parm,int32_t value) +{ + return jSetRegister32Ex(slave,parm,&value,J_LONG); +}; +int jSetRegister32Exd(uint8_t slave,uint16_t parm,float value) +{ + return jSetRegister32Ex(slave,parm,&value,J_FLOAT); +}; + +/* Bit Manipulationen */ +void jSetRegisterBit(uint8_t slave,uint16_t parm,uint8_t bit) +{ + int32_t v; + + if (jReadRegister32Exl(slave, parm, &v)) + { + v |= (1< +#include + +typedef struct { + RB2_LINK link; + + uint16_t axes_on_can; + uint16_t nodes_on_can; + + canframe_t rxframe; + canframe_t txframe; + + canfilter_t filter_rx; + + list_t pool; + +} rb2_canlink_t; + +rb2_telegram_buffer_t * rb2_can_receive (RB2_LINK *link); +uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram); + + +rb2_canlink_t + *rb2_canlink; + + +RB2_LINK* rb2_create_can_link(void){ + + if (rb2_canlink){ + return &(rb2_canlink->link); + }; + + rb2_canlink = malloc(sizeof(rb2_canlink_t)); + if (rb2_canlink){ + + memset(rb2_canlink, 0x00, sizeof(rb2_canlink_t)); + + rb2_canlink->filter_rx.id = (canid_t){ + ide: 1, + addr: (1L<<25) + }; + rb2_canlink->filter_rx.mask = (canid_t){ + ide: 1, + addr: 0x1EFF0000 + }; + + }; + return &(rb2_canlink->link); +}; + + + + +rb2_telegram_buffer_t* rb2_can_receive (RB2_LINK *link){ + + + return NULL; +}; + +uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram){ + + return 0; +}; + + diff --git a/can/src/rb2_create_can_link.c b/can/src/rb2_create_can_link.c new file mode 100755 index 0000000..28db83d --- /dev/null +++ b/can/src/rb2_create_can_link.c @@ -0,0 +1,176 @@ +#include +#include + +#include + +#include +#include +#include + + +#if 0 + +int32_t dbg_rb2_can_tx; +int32_t dbg_rb2_can_rx; +int32_t dbg_rb2_can_rx_err; +int16_t dbg_rb2_can_rx_ptr[2]; + +RB2_CAN_LINK *rb2_can_link; + +void rb2_can_prepare_rx(CANREQUEST *can); +void rb2_can_irq_tx(CANREQUEST *request); + +rb2_telegram_buffer_t* rb2_can_receive (RB2_LINK *link); +uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram); + +void rb2_can_irq_rx(CANREQUEST *request); + +RB2_LINK* rb2_create_can_link(void) { + if (rb2_can_link) + return &(rb2_can_link->link); + + rb2_can_link = malloc( sizeof( RB2_CAN_LINK ) ); + + if (rb2_can_link) { + uint8_t n; + + memset( rb2_can_link, 0x00, sizeof( RB2_CAN_LINK ) ); + + rb2_can_link->link.receive = NULL; + rb2_can_link->link.send = rb2_can_send; + + for (n=0;n<2;n++) { + rb2_can_link->canrx[n] = malloc( sizeof(CANREQUEST) ); + if (rb2_can_link->canrx[n]) { + rb2_can_prepare_rx( rb2_can_link->canrx[n] ); + can_enqueue( rb2_can_link->canrx[n] ); + }; + }; + + list_append( &(rb2_can_link->link.list), &((&__rb2_instance)->links.list) ); + + return &(rb2_can_link->link); + }; + return NULL; +}; + +void rb2_can_prepare_rx(CANREQUEST *can) { + if (can) { + memset( can, 0x00, sizeof( CANREQUEST ) ); + + can->ide = 1; + can->idmask.id = 0x1FFF0000L; + can->id.id = 0x00080000L; + can->irq_notify = rb2_can_irq_rx; + }; +}; + +uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram) { + CANREQUEST *can = malloc( sizeof(CANREQUEST) ); + uint8_t n; + + if (can) { + memset( can, 0x00, sizeof( CANREQUEST ) ); + + can->ide = 1; + can->tx = 1; + can->id.id = 0x00080000L | + ( ((uint32_t)(&__rb2_instance)->ax) << 12) | + ( ((uint32_t)rb2_first_id()) << 8) | + telegram->telegram.flags.byte; + + can->len = 8; + can->data.bytes[0] = telegram->telegram.receiver.addr; + can->data.bytes[1] = telegram->telegram.sender.addr; + can->data.words[1] = telegram->telegram.regno; + can->data.dwords[1] = telegram->telegram.ui32; + + if (telegram->telegram.flags.ident) { + for (n=0;n<(RB2_CANLINK_IDDEPTH-1);n++){ + RB2_CAN_LINK(link)->idmasks[ n ] = RB2_CAN_LINK(link)->idmasks[ n + 1 ]; + }; + RB2_CAN_LINK(link)->idmasks[n] = 0; + }; + + can->irq_notify = rb2_can_irq_tx; + + if (can_enqueue( can )){ + free( can ); + return -1; + } else { + if (_dbg_trace_rb2_can_tx) + _dbg_trace_rb2_can_tx( telegram ); + }; + }; + free(telegram); + return 0; +}; + +void rb2_can_irq_tx(CANREQUEST *request){ + dbg_rb2_can_tx++; + + free(request); +}; + +void rb2_can_irq_rx(CANREQUEST *request){ + RB2_CAN_LINK *clink = rb2_can_link; + rb2_telegram_buffer_t *t = NULL; + uint8_t n; + + dbg_rb2_can_rx_ptr[ 1 ] = dbg_rb2_can_rx_ptr[ 0 ]; + dbg_rb2_can_rx_ptr[ 0 ] = (int16_t)request; + + if (!request->err) { + + t = malloc( sizeof(rb2_telegram_buffer_t) ); + + if (t) { + memset( t, 0x00, sizeof(rb2_telegram_buffer_t) ); + + t->telegram.flags.byte = request->id.id & 0x000000FF; + t->telegram.receiver.addr = request->data.bytes[0]; + t->telegram.sender.addr = request->data.bytes[1]; + t->telegram.regno = request->data.words[1]; + t->telegram.ui32 = request->data.dwords[1]; + + if (t->telegram.flags.ident) { + for (n=0;nidmasks[n] |= t->telegram.endpoints; + }; + t->telegram.endpoints = clink->idmasks[0]; + } else { + if ( + ((&__rb2_instance)->ax == t->telegram.receiver.ax) && + (clink->link.idmask & (1<telegram.receiver.node)) + ){ + free( t ); + t = NULL; + }; + }; + + if (t){ + dbg_rb2_can_rx++; + + t->link = &(rb2_can_link->link); + + if (_dbg_trace_rb2_can_rx) + _dbg_trace_rb2_can_rx( t ); + + rb2_route_listed( t ); + }; + }; + } else { + dbg_rb2_can_rx_err++; + }; + + rb2_can_prepare_rx( request ); + + if (!can_enqueue( request )){ + + }; +}; + + +#endif + + diff --git a/core/Makefile b/core/Makefile new file mode 100755 index 0000000..139597f --- /dev/null +++ b/core/Makefile @@ -0,0 +1,2 @@ + + diff --git a/core/include/cpu/cpu.h b/core/include/cpu/cpu.h new file mode 100644 index 0000000..a0a77b4 --- /dev/null +++ b/core/include/cpu/cpu.h @@ -0,0 +1,6 @@ +#pragma once + +#include + +uint16_t getPC(void); + diff --git a/core/include/crc/crc.h b/core/include/crc/crc.h new file mode 100755 index 0000000..93d21af --- /dev/null +++ b/core/include/crc/crc.h @@ -0,0 +1,5 @@ +#pragma once + +unsigned char crc8 (const unsigned char *pData, + unsigned char ByteCount, + unsigned char StartVal); \ No newline at end of file diff --git a/core/include/fixpoint/fixpoint.h b/core/include/fixpoint/fixpoint.h new file mode 100644 index 0000000..1d0e04d --- /dev/null +++ b/core/include/fixpoint/fixpoint.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +#include +#include + +#include diff --git a/core/include/fixpoint/fp1616.h b/core/include/fixpoint/fp1616.h new file mode 100644 index 0000000..a7a6041 --- /dev/null +++ b/core/include/fixpoint/fp1616.h @@ -0,0 +1,50 @@ +#pragma once + +#include + +#define FP1616_FRAC 16 + +union fp1616{ + int32_t value; + uint32_t uvalue; + struct { + int16_t decimal; + int16_t predecimal; + }; +}; +typedef union fp1616 fp1616_t; +#define fp1616(v) ((fp1616_t){value: v}) + + +static inline fp1616_t fp1616_add ( fp1616_t a, fp1616_t b ) { return fp1616( a.value + b.value); }; +static inline fp1616_t fp1616_sub ( fp1616_t a, fp1616_t b ) { return fp1616( a.value - b.value); }; +static inline fp1616_t fp1616_mul ( fp1616_t a, fp1616_t b ) { return fp1616( ((int64_t)a.value * (int64_t)b.value) >> FP1616_FRAC ); }; +static inline fp1616_t fp1616_div ( fp1616_t a, fp1616_t b ) { return fp1616( ((int64_t)a.value << FP1616_FRAC) / b.value ); }; + +#define fp1616_eq(a,b) ((a.value == b.value)) +#define fp1616_lt(a,b) ((a.value < b.value)) +#define fp1616_gt(a,b) ((a.value > b.value)) + + +#define fp4816_from_1616(fp1616) ((fp4816_t)fp1616.value) +#define fp1616_from_4816(fp4816) ((fp1616_t){value: (int32_t)fp4816 }) + +#define fp1616_from_float_c( value ) (fp1616(value * 65536.0f)) +#define fp1616_from_float(f) (fp1616(fp4816_from_float(f))) +#define fp1616_from_int( value ) ( fp1616( (long)value << 16 ) ) +#define fp1616_to_float( fp ) ( fp4816_to_float( fp4816_from_1616(fp) ) ) + +struct _fp1616_smoother { + fp1616_t value, + sum, + k; +}; + + fp1616_t fp1616_smoother(struct _fp1616_smoother *smoother,fp1616_t sample); +static inline void fp1616_smoother_set(struct _fp1616_smoother *smoother,fp1616_t tn) { + if (smoother) { + smoother->value.value = 0; + smoother->sum.value = 0; + smoother->k = fp1616_div(fp1616(65536),tn); + }; +}; diff --git a/core/include/fixpoint/fp248.h b/core/include/fixpoint/fp248.h new file mode 100755 index 0000000..f0bdd37 --- /dev/null +++ b/core/include/fixpoint/fp248.h @@ -0,0 +1,45 @@ +#pragma once + +#include + +#include + +/** \file */ +/** \defgroup fixpoint : 24/8bit Fixpoint Support + \code + #include + \endcode + + Function +*/ + +typedef int32_t fp248_t; + + +#define FP248_FRAC 8 +#define FP248_MASK (0xFFFFFFFF >> (32-FP248_FRAC)) + + float fp248_to_float (fp248_t value); + fp248_t fp248_from_float (float value); + +static inline fp248_t fp248_from_int32 (int32_t value) { return (fp248_t)(value << FP248_FRAC); }; +static inline int32_t fp248_to_int32 (fp248_t value) { return (int32_t)(value >> FP248_FRAC); }; +static inline fp248_t fp248_fraction (fp248_t value) { return value & FP248_MASK; }; + +static inline fp248_t fp248_add ( fp248_t a, fp248_t b ) { return a + b; }; +static inline fp248_t fp248_sub ( fp248_t a, fp248_t b ) { return a - b; }; +static inline fp248_t fp248_mul ( fp248_t a, fp248_t b ) { return (fp248_t)( ((int64_t)a * (int64_t)b) >> FP248_FRAC ); }; +static inline fp248_t fp248_div ( fp248_t a, fp248_t b ) { return (fp248_t)( ((int64_t)a << FP248_FRAC) / b ); }; + +#include + +/* +#define FP_PI fp_make(M_PI) +#define FP_2PI (2*FP_PI) + +#define FP_SQRT_2 fp_make(1.414213562373095) +#define FP_INV_SQRT_2 fp_make(0.707106781) +#define FP_SQRT_3 fp_make(1.73205080756887729352) +#define FP_INV_SQRT_3 fp_make(0.577350269) +*/ + diff --git a/core/include/fixpoint/fp4816.h b/core/include/fixpoint/fp4816.h new file mode 100755 index 0000000..fd18750 --- /dev/null +++ b/core/include/fixpoint/fp4816.h @@ -0,0 +1,78 @@ +#pragma once + +#include + +#include + + +typedef int64_t fp4816_t; + + +#define FP4816_FRAC 16 +#define FP4816_MASK (0xFFFFFFFFFFFFFFFF >> (64-FP4816_FRAC)) + + float fp4816_to_float (fp4816_t value); + fp4816_t fp4816_from_float (float value); + +#define fp4816_from_float_c( value ) ((fp4816_t)(value * 65536.0f)) + +static inline fp4816_t fp4816_from_int32 (int32_t value) { return (fp4816_t)(((fp4816_t)value) << FP4816_FRAC); }; +static inline int32_t fp4816_to_int32 (fp4816_t value) { return (int32_t)(value >> 16); }; +static inline fp4816_t fp4816_fraction (fp4816_t value) { return value & FP4816_MASK; }; + +static inline fp4816_t fp4816_add ( fp4816_t a, fp4816_t b ) { return a + b; }; +static inline fp4816_t fp4816_sub ( fp4816_t a, fp4816_t b ) { return a - b; }; +static inline fp4816_t fp4816_mul ( fp4816_t a, fp4816_t b ) { return (fp4816_t)( ((int64_t)a * (int64_t)b) >> FP4816_FRAC ); }; +static inline fp4816_t fp4816_div ( fp4816_t a, fp4816_t b ) { return (fp4816_t)( ((int64_t)a << FP4816_FRAC) / b ); }; + +static inline fp4816_t fp4816_abs ( fp4816_t a ) { return (a<0) ? -a : a; }; + + fp4816_t fp4816_taylor (fp4816_t v,int lev); + fp4816_t fp4816_sin_slow (fp4816_t rad); + fp4816_t fp4816_taylor_element(fp4816_t v,int lev); + fp4816_t fp4816_pow (fp4816_t v,int pow); + +struct _fp4816_smoother { + fp4816_t value, + sum, + k; +}; + + fp4816_t fp4816_smoother(struct _fp4816_smoother *smoother,fp4816_t sample); +static inline void fp4816_smoother_set(struct _fp4816_smoother *smoother,fp4816_t tn) { + if (smoother) { + smoother->value = 0; + smoother->sum = 0; + smoother->k = fp4816_div(65536,tn); + }; +}; + +#include + +#define FP4816_PI fp4816_from_float_c(M_PI) +#define FP4816_2PI (2 * FP4816_PI) +#define FP4816_05PI (FP4816_PI / 2) +#define FP4816_15PI (FP4816_PI + FP4816_05PI) + +#define FP_SQRT_2 fp4816_from_float_c(1.414213562373095) +#define FP_INV_SQRT_2 fp4816_from_float_c(0.707106781) +#define FP_SQRT_3 fp4816_from_float_c(1.73205080756887729352) +#define FP_INV_SQRT_3 fp4816_from_float_c(0.577350269) + +#ifdef __cplusplus + +class FP4816 +{ + public: + FP4816(int64_t value); + FP4816(float value); + private: + int64_t value; +}; + + + +#endif + + + diff --git a/core/include/fixpoint/ieee.h b/core/include/fixpoint/ieee.h new file mode 100755 index 0000000..7c7fd4f --- /dev/null +++ b/core/include/fixpoint/ieee.h @@ -0,0 +1,18 @@ +#pragma once + +#include + +union ieeefloat +{ + float f; + struct { + uint32_t mantisse:23; + uint32_t exponent:8; + uint32_t sign:1; + }; +}; +typedef union ieeefloat IEEEFLOAT; + +#define IEEEFLOAT(p) ((IEEEFLOAT*)p) + + diff --git a/core/include/fixpoint/pid.h b/core/include/fixpoint/pid.h new file mode 100644 index 0000000..2bbc249 --- /dev/null +++ b/core/include/fixpoint/pid.h @@ -0,0 +1,62 @@ +#pragma once + +#include + +typedef union { + fp4816_t values[10]; + struct { + fp4816_t kp, + ki, + kd; + + fp4816_t integral, + last_value, + out; + + fp4816_t lim_omin, // Lower Limit: Output + lim_omax, // Upper Limit: Output + lim_imin, // Lower Limit: Integral + lim_imax; // Upper Limit: Integral + }; +} fp4816_pid_t; + + +fp4816_pid_t* pid4816_create (void); +int pid4816_set (fp4816_pid_t *pid,fp4816_t Kp,fp4816_t Ki,fp4816_t Kd); + +int pid4816_set_kp (fp4816_pid_t *pid,fp4816_t Kp); +int pid4816_set_ki (fp4816_pid_t *pid,fp4816_t Ki); +int pid4816_set_kd (fp4816_pid_t *pid,fp4816_t Kd); + +int pid4816_get_kp (fp4816_pid_t *pid,fp4816_t *Kp); +int pid4816_get_ki (fp4816_pid_t *pid,fp4816_t *Ki); +int pid4816_get_kd (fp4816_pid_t *pid,fp4816_t *Kd); + +int pid4816_set_limits + (fp4816_pid_t *pid,fp4816_t *omin,fp4816_t *omax,fp4816_t *imin,fp4816_t *imax); +int pid4816_get_limits + (fp4816_pid_t *pid,fp4816_t *omin,fp4816_t *omax,fp4816_t *imin,fp4816_t *imax); + +static inline int pid4816_clear (fp4816_pid_t *pid){ + if (!pid) + return -ENULLPTR; + + pid->integral = 0; + pid->last_value = 0; + pid->out = 0; + + return ESUCCESS; +}; + + +int pid4816_cycle (fp4816_pid_t *pid,fp4816_t value); + +static inline int pid4816_get_value(fp4816_pid_t *pid,fp4816_t *value){ + if (pid){ + *value = pid->out; + return ESUCCESS; + }; + return -ENULLPTR; +}; + + diff --git a/core/include/hw+/fixpoint.h b/core/include/hw+/fixpoint.h new file mode 100755 index 0000000..0fbd65d --- /dev/null +++ b/core/include/hw+/fixpoint.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include + +struct Fixpoint +{ + int64_t value; + + Fixpoint(); + Fixpoint(int value); + Fixpoint(int64_t value); + Fixpoint(float value); + + const Fixpoint operator+ (Fixpoint const& value); + const Fixpoint operator- (Fixpoint const& value); + const Fixpoint operator* (Fixpoint const& value); + const Fixpoint operator/ (Fixpoint const& value); + const Fixpoint operator% (Fixpoint const& value); + + const Fixpoint& operator+= (Fixpoint const& value); + const Fixpoint& operator-= (Fixpoint const& value); + const Fixpoint& operator*= (Fixpoint const& value); + const Fixpoint& operator/= (Fixpoint const& value); + +}; diff --git a/core/include/hw+/irq.h b/core/include/hw+/irq.h new file mode 100755 index 0000000..0edff30 --- /dev/null +++ b/core/include/hw+/irq.h @@ -0,0 +1,23 @@ +#pragma once + +#include + +class Signal +{ + virtual void signal(int signal); +}; + +class IRQ +{ + public: + IRQ(); + + + private: + Signal signals[]; + +}; + + + + diff --git a/core/include/hw+/port.h b/core/include/hw+/port.h new file mode 100755 index 0000000..5164f8a --- /dev/null +++ b/core/include/hw+/port.h @@ -0,0 +1,25 @@ +#pragma once + +#include + +#include + +class Port +{ + public: + Port(uint16_t pin,uint16_t ddr,uint16_t port); + + uint8_t DDR(); + void DDR(uint8_t value); + + + + public: + volatile BYTE *pin, + *ddr, + *port; + +}; + + + diff --git a/core/include/hw+/registers.h b/core/include/hw+/registers.h new file mode 100755 index 0000000..e6a4ff0 --- /dev/null +++ b/core/include/hw+/registers.h @@ -0,0 +1,22 @@ +#pragma once + +#include + +union byte +{ + uint8_t byte; + struct + { + uint8_t bit0:1; + uint8_t bit1:1; + uint8_t bit2:1; + uint8_t bit3:1; + uint8_t bit4:1; + uint8_t bit5:1; + uint8_t bit6:1; + uint8_t bit7:1; + }; +} ; + +typedef union byte BYTE; + diff --git a/core/include/hwo/access.h b/core/include/hwo/access.h new file mode 100755 index 0000000..90d27b9 --- /dev/null +++ b/core/include/hwo/access.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +struct _access +{ + int32_t service_partner_id; + int32_t staff_id; + int32_t access_code; + int32_t passcode; + int32_t magic1; + int32_t effective_rights; +}; + +extern struct _access _access; + + +int32_t access_authorize(struct _access* access); + +static inline uint8_t access_check(struct _access* access,uint8_t n) +{ + if (access->effective_rights & BIT(n)) + return 1; + + return 0; +}; + + + diff --git a/core/include/hwo/bits.h b/core/include/hwo/bits.h new file mode 100755 index 0000000..a60fbac --- /dev/null +++ b/core/include/hwo/bits.h @@ -0,0 +1,62 @@ +#pragma once + +#include + +#define BIT(n) (1L<> (32 - n)); +}; +static inline int32_t ror32(int32_t i,uint8_t n) +{ + return (i >> n) | (i << (32 - n)); +}; + +static inline int16_t rol16(int16_t i,uint8_t n) +{ + return (i << n) | (i >> (16 - n)); +}; +static inline int16_t ror16(int16_t i,uint8_t n) +{ + return (i >> n) | (i << (16 - n)); +}; + +static inline uint8_t rol8(uint8_t i,uint8_t n) +{ + return (i << n) | (i >> (8 - n)); +}; +static inline uint8_t ror8(uint8_t i,uint8_t n) +{ + return (i >> n) | (i << (8 - n)); +}; + + + diff --git a/core/include/hwo/chksum.h b/core/include/hwo/chksum.h new file mode 100755 index 0000000..2f55f91 --- /dev/null +++ b/core/include/hwo/chksum.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +union avr_chksum +{ + struct + { + uint8_t sum8; + uint8_t xor8; + }; + uint16_t combined; +}; +typedef union avr_chksum avrChksum; +typedef union avr_chksum CHKSUM; + + + +void chksum(CHKSUM* chksum,void* block,uint8_t len); + + diff --git a/core/include/hwo/debug.h b/core/include/hwo/debug.h new file mode 100755 index 0000000..f95f441 --- /dev/null +++ b/core/include/hwo/debug.h @@ -0,0 +1,11 @@ +#pragma once + +#include + +void debug_serial(FILE* stream); +FILE* debug_stream(void); +void debug(char* line); + +#define debugf(format,...) fprintf( debug_stream(), format "\r\n", ## __VA_ARGS__ ) + +void stack_chk(void); diff --git a/core/include/hwo/eeprom.h b/core/include/hwo/eeprom.h new file mode 100644 index 0000000..18635cb --- /dev/null +++ b/core/include/hwo/eeprom.h @@ -0,0 +1,40 @@ +#pragma once + +#include +#include + +#include +#include + +struct avr_eeprom_desc +{ + uint8_t num_banks; + void* base_chksums; +}; + +struct avr_eeprom +{ + union { + uint8_t data[32]; + uint16_t data16[16]; + uint32_t data32[8]; + float f32[8]; + int32_t i32[8]; + }; +}; +typedef struct avr_eeprom avrEEPROM; +typedef struct avr_eeprom EEPROM; + +extern MUTEX eepromMutex; + + +uint16_t eeprom_load(uint8_t bank,avrEEPROM *data); +uint16_t eeprom_save(uint8_t bank,avrEEPROM *data); + + + + + + + + diff --git a/core/include/hwo/events.h b/core/include/hwo/events.h new file mode 100755 index 0000000..497608d --- /dev/null +++ b/core/include/hwo/events.h @@ -0,0 +1,3 @@ +#pragma once + +#include \ No newline at end of file diff --git a/core/include/hwo/fifo.h b/core/include/hwo/fifo.h new file mode 100755 index 0000000..a4c5031 --- /dev/null +++ b/core/include/hwo/fifo.h @@ -0,0 +1,49 @@ +#pragma once + +#include +#include + +struct fifo +{ + uint8_t size; + uint8_t pWrite; + uint8_t pRead; + uint8_t *pBuffer; + + union + { + struct { + uint8_t blocking:1; // Blocking Mode + uint8_t irq_rd:1, // fifo_read / fifo_poll called from IRQ (force non blocking) + irq_wr:1; // fifo_write called from IRQ (force non blocking) + }; + uint8_t flags; + }; + + uint16_t timeout; + avrWAIT wtimeout; +}; + +typedef struct fifo FIFO; + +// FIFO Options +#define FO_BLOCKING (1<<0) +#define FO_IRQ_RD (1<<1) +#define FO_IRQ_WR (1<<2) + + +FIFO* fifo_alloc (uint8_t size); + +void fifo_write (FIFO* fifo,uint8_t byte); +uint16_t fifo_read (FIFO* fifo); +uint16_t fifo_poll (FIFO* fifo); + +uint8_t fifo_avail (FIFO* fifo); +uint8_t fifo_free (FIFO* fifo); + +void fifo_set_blocking(FIFO* fifo,uint8_t blocking); +void fifo_set_timeout(FIFO*fifo,uint16_t timeout); + +void fifo_options(FIFO* fifo,uint8_t options); + +uint16_t fifo_read_block (FIFO* fifo,uint8_t* buffer,int maxlen); diff --git a/core/include/hwo/fixpoint.h b/core/include/hwo/fixpoint.h new file mode 100755 index 0000000..eaf7f24 --- /dev/null +++ b/core/include/hwo/fixpoint.h @@ -0,0 +1,60 @@ +#pragma once + +#include + +#define FP_FRAC 16 +#define FP_MASK (0xFFFFFFFF >> (32-FP_FRAC)) + +typedef int32_t fixpoint_t; + +#define fp_float(a) (((double)a) / (1L<>FP_FRAC) +#define fp_make(a) ((fixpoint_t)(a * (1L<> FP_FRAC)) +#define fp_div(a,b) ((fixpoint_t)(((int64_t)a << FP_FRAC) / b)) +#define fp_get_fraction(a) (((fixpoint_t)a) & FP_MASK) +#define fp_trunc_to_int32(a) (a / (1L< + +#define FP_PI fp_make(M_PI) +#define FP_2PI (2*FP_PI) + +#define FP_SQRT_2 fp_make(1.414213562373095) +#define FP_INV_SQRT_2 fp_make(0.707106781) +#define FP_SQRT_3 fp_make(1.73205080756887729352) +#define FP_INV_SQRT_3 fp_make(0.577350269) + + +/* Trigonometrische Funktionen + + [arc] = ° + + + Intervalle: + + asin [-90 .. +90] + acos [ 0 .. +180] + +*/ + +fixpoint_t fp_sin(fixpoint_t arc); +fixpoint_t fp_cos(fixpoint_t arc); +fixpoint_t fp_tan(fixpoint_t arc); + +fixpoint_t fp_asin(fixpoint_t sin); +fixpoint_t fp_acos(fixpoint_t cos); +fixpoint_t fp_atan(fixpoint_t tan); + +fixpoint_t fp_normalize_arc(fixpoint_t arc); + +uint8_t* fp_toa(fixpoint_t value,int pre,int dec); +uint8_t* fp_toa_r(uint8_t* buffer,fixpoint_t value,int pre,int dec); + +fixpoint_t fp_sin_lookup_reverse(fixpoint_t sin); +fixpoint_t fp_sin_lookup(fixpoint_t arc090); diff --git a/core/include/hwo/i2c.h b/core/include/hwo/i2c.h new file mode 100755 index 0000000..b963504 --- /dev/null +++ b/core/include/hwo/i2c.h @@ -0,0 +1,60 @@ +#pragma once + +#include + +#include + +#include +#include + +#define I2C_ERR_NACK -1 + +#define I2C_CBR(x) ((int)(0x80000000ul | x)) + +#define I2C_CBR_CONT I2C_CBR(0x01) +#define I2C_CBR_NACK I2C_CBR(0x02) +#define I2C_CBR_STOP I2C_CBR(0x04) + + +/* int i2c_callback(int n,int ch) + * + * n Index des aktuellen Bytes (0 = 1.Byte, 1 = 2.byte,...) + * ch Empfangenes Byte (oder -1 bei Sendebetrieb) + * return: nächstes zu übertragene Byte, oder -1 für Ende der Übertragung + * + * Wird für jedes zu übertragende bzw. übertragenes Zeichen gerufen. + * + */ +typedef int(*i2c_callback)(void* p,int n,int ch); + +struct i2c +{ + MUTEX mutex; + + int clock; + + volatile struct { + uint8_t slave; + uint8_t ptr; // Lese/Schreib Index für aktiven Request + + int error; + + i2c_callback + callback; + void *p; + + THREAD *owner; + + uint8_t length; + uint8_t *buffer; + }; +}; +extern struct i2c i2c; + +void i2c_init(uint32_t clk); +int i2c_transfer(uint8_t slave,uint8_t *buffer,uint8_t length); +int i2c_transfer_ex(uint8_t slave,i2c_callback callback,void *p); + +void i2c_lock(void); +void i2c_release(void); + diff --git a/core/include/hwo/konsole.h b/core/include/hwo/konsole.h new file mode 100755 index 0000000..a965abc --- /dev/null +++ b/core/include/hwo/konsole.h @@ -0,0 +1,124 @@ +#pragma once + +/******************************************************************************************************* + + konsole.h Definitionen un Deklarationen der integrierten seriellen Konsole für ANSI/vt100 + +*******************************************************************************************************/ + +#include + +#include +#include + +#define KON_TYPE_EMPTY 0x00 +#define KON_TYPE_INT8 0x01 +#define KON_TYPE_INT16 0x02 +#define KON_TYPE_INT32 0x03 +#define KON_TYPE_INT64 0x04 +#define KON_TYPE_FLOAT 0x05 +#define KON_TYPE_PTR 0x06 +#define KON_TYPE_STRING 0x07 + +#define KON_TYPE_REF 0x20 // Referenzierung durch +#define KON_TYPE_HEX 0x40 // Darstellung in 0x... +#define KON_TYPE_SPEC 0x80 // Spezielles Feld + +#define KON_SPEC_TICKS 0x80 +#define KON_SPEC_BRKVAL 0x81 +#define KON_SPEC_SPLIM 0x82 + +struct avr_konsole; +struct avr_konsole_field; +struct avr_konsole_command; +struct avr_konsole_commandline; +struct avr_konsole_command_define; + +typedef struct avr_konsole KONSOLE; +typedef struct avr_konsole_commandline KON_CMDLINE; + +typedef struct avr_konsole_command_define + KON_CMD_DEFINE; +#define KON_CMD_DEFINE(ptr) ((KON_CMD_DEFINE*)ptr) + + +typedef struct avr_konsole_field avrKonsoleField; +typedef struct avr_konsole_command avrKonsoleCommand; + +//typedef uint8_t (*cbKonsoleCommand)(avrKonsole* konsole,avrKonsoleCommand *command); // Callback für benutzerdefinierte Befehle +typedef uint8_t (*cbKonsoleUpdateField)(avrKonsoleField *field); + +typedef uint8_t (*cbKonsoleCommandEx)(KONSOLE* konsole,KON_CMD_DEFINE *cmddef,KON_CMDLINE *cmdline); + + +struct avr_konsole_field +{ + char *label; + uint8_t type; + uint8_t code; // USER Byte for identification + uint8_t width; + union + { + void *ptr; + char *pString; + int8_t i8; + int16_t i16; + int32_t i32; + int64_t i64; + float f; + }; +}; + +struct avr_konsole_commandline +{ + char *first, + *second, + *third, + *fourth; + + char *last; +}; + +struct avr_konsole_command_define +{ + list_t list; + + char cmdWord[12]; + + list_t subcmds; + + cbKonsoleCommandEx + cbCommand; +}; + + + +struct avr_konsole +{ + FILE *stream; // FILE struktur für + FILE *pipe; + + avrWAIT wait_status; // Timer für Neuzeichnen der Statusfelder + + char cmdline[128]; // Buffer für Eingabezeile + uint8_t pCmdline; // Zeiger auf nächstes freies zeichen in + + char *greeting; // Begrüßung nach Konsolenstart + + KON_CMD_DEFINE + commandroot; + + cbKonsoleUpdateField cbUpdate; + avrKonsoleField *statusfields[4]; // Zeiger auf Statusfelder für die ersten 6 Zeilen +}; + +KONSOLE* konsole_create (FILE *stream); +uint8_t konsole_set_command (KONSOLE *konsole, char *command, cbKonsoleCommandEx cbCommandEx); + +uint8_t konsole_start(KONSOLE *konsole); +uint8_t konsole_cmdline(KONSOLE *konsole); + +uint8_t konsole_read_line (FILE *stream, char *buffer, uint8_t maxsize); + +void dbg_print_threads(FILE *stream); + diff --git a/core/include/hwo/logcsr.h b/core/include/hwo/logcsr.h new file mode 100755 index 0000000..47acb8e --- /dev/null +++ b/core/include/hwo/logcsr.h @@ -0,0 +1,22 @@ +#pragma once + +#include + +#include + + +union u_log_csr +{ + avrEEPROM eeprom; + struct + { + uint8_t wp; + uint8_t res[15]; + uint8_t mcucsr[16]; + }; +}; +typedef union u_log_csr LogCSR; + +void log_csr(void); +uint8_t get_csr(void); +LogCSR* get_csr_log(void); diff --git a/core/include/hwo/mutex.h b/core/include/hwo/mutex.h new file mode 100755 index 0000000..4ace87d --- /dev/null +++ b/core/include/hwo/mutex.h @@ -0,0 +1,5 @@ +#pragma once + +#warning hwo/mutex.h is deprecated. Use sys/mutex.h + +#include \ No newline at end of file diff --git a/core/include/hwo/pid.h b/core/include/hwo/pid.h new file mode 100755 index 0000000..587ca44 --- /dev/null +++ b/core/include/hwo/pid.h @@ -0,0 +1,71 @@ +#pragma once + +#include +#include +#include + +#define KI_FROM_TN(tn) (1/tn) +#define TN_FROM_KI(ki) (1/ki) + +struct _pi_float +{ + float limit_min, + limit_max; + float kp, + ki; + float integral; +}; +typedef struct _pi_float PI_FLOAT; + +static inline float pi_float_cycle(PI_FLOAT *pi,float value) +{ + pi->integral += pi->ki * value; + if (pi->integral > pi->limit_max) + pi->integral = pi->limit_max; + if (pi->integral < pi->limit_min) + pi->integral = pi->limit_min; + return pi->integral + (pi->kp * value); +}; + +struct _pi_fp248 +{ + fp248_t limit_min, + limit_max; + fp248_t kp, + ki; + fp248_t integral; +}; +typedef struct _pi_fp248 PI_FP248; + +static inline fp248_t pi_fp248_cycle(PI_FP248 *pi,fp248_t value) +{ + pi->integral += fp248_mul(pi->ki, value); + if (pi->integral > pi->limit_max) + pi->integral = pi->limit_max; + if (pi->integral < pi->limit_min) + pi->integral = pi->limit_min; + return pi->integral + fp248_mul(pi->kp, value); +}; + + +struct _pi_fp4816 +{ + fp4816_t limit_min, + limit_max; + fp4816_t kp, + ki; + fp4816_t integral; +}; +typedef struct _pi_fp4816 PI_FP4816; + +static inline fp4816_t pi_fp4816_cycle(PI_FP4816 *pi,fp4816_t value) +{ + pi->integral += fp4816_mul(pi->ki, value); + if (pi->integral > pi->limit_max) + pi->integral = pi->limit_max; + if (pi->integral < pi->limit_min) + pi->integral = pi->limit_min; + return pi->integral + fp4816_mul(pi->kp, value); +}; + + diff --git a/core/include/hwo/pipes.h b/core/include/hwo/pipes.h new file mode 100755 index 0000000..5d4d424 --- /dev/null +++ b/core/include/hwo/pipes.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +FILE* dev_null(void); diff --git a/core/include/hwo/platform.h b/core/include/hwo/platform.h new file mode 100755 index 0000000..17ca8f7 --- /dev/null +++ b/core/include/hwo/platform.h @@ -0,0 +1,65 @@ +#pragma once + +#include + +/***** + +platform.h Platform Definition für AVR8 / Bootloader / Externe EEPROMS + +*****/ + +#define ENTITY_NULL 0x0000 // Kein Inhalt, Füller +#define ENTITY_FIRMWARE 0x0001 // Firmware Image + +#define ENTITY_USER 0x8000 // Erster Type für Anwendungstypen + +struct platform_entity +{ + uint16_t type; + uint32_t size; + + avrChksum chksum; +}; + +struct platform_eeprom_header +{ + uint8_t magic[4]; // Magic bytes [ 0x43, 0x52, 0x65, 0xD2 ] + + struct + { + uint8_t version_low; + uint8_t version_high; + + uint8_t board_id_low; + uint8_t board_id_high; + + uint16_t board_revision; + } bootloader; + + struct + { + uint8_t version_low; + uint8_t version_high; + + uint16_t build; + uint16_t size; + + avrChksum chksum; + } firmware; + + struct + { + uint32_t update_req:1; // Request Bootloader for Firmware Update + uint32_t update_ack:1; // Bootloader has Updated Firmware successfull + uint32_t update_err_chksum:1; // Bootloader denied update due to chksum error + uint32_t update_err_license:1; // Bootloader denied update due to license error + + uint32_t reserve:28; + + } flags; + +}; + + + + diff --git a/core/include/hwo/runtime.h b/core/include/hwo/runtime.h new file mode 100755 index 0000000..c2db0b1 --- /dev/null +++ b/core/include/hwo/runtime.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/core/include/hwo/serial.h b/core/include/hwo/serial.h new file mode 100755 index 0000000..ac24721 --- /dev/null +++ b/core/include/hwo/serial.h @@ -0,0 +1,75 @@ +#pragma once + +#include +#include + +#include + +#define SERIAL_5BIT 0x0100 +#define SERIAL_6BIT 0x0200 +#define SERIAL_7BIT 0x0400 +#define SERIAL_8BIT 0x0800 + +#define SERIAL_PAR_E 0x1000 +#define SERIAL_PAR_O 0x2000 + +#define SERIAL_STOP2 0x4000 + +struct avr_serial; +typedef struct avr_serial avrSerial; + +typedef void (*serial_cb_rx)(void *arg,uint8_t ch); + +/** + * @class avr_serial + * @author Harald Wolff + * @date + * @file serial.h + * @brief Structure for serial device + */ +struct avr_serial +{ + avrSerial* next; + + uint8_t (*init)(avrSerial* serial,uint32_t baudrate,uint32_t config); // Setup Port + void (*notify)(avrSerial* serial); // Notify of new byte to send in fifo_tx + void (*flush)(avrSerial *serial); // Warten bis alle Zeichen gesendet wurden +/* + void (*tx)(avrSerial* serial,uint8_t byte); + uint16_t (*rx)(avrSerial* serial); +*/ + FIFO* fifo_tx; + FIFO* fifo_rx; + + void* driver; +}; + +extern avrSerial* _serial_head; + +void serial_register(avrSerial* serial); +void usart_register(void); + +uint8_t serial_init(avrSerial* serial,uint32_t baudrate,uint32_t config); + +void serial_tx_byte(avrSerial* serial,uint8_t byte); +void serial_tx_string(avrSerial* serial,char* string); +void serial_tx(avrSerial* serial,uint8_t* data,uint8_t len); + +void serial_flush(avrSerial *serial); + +uint16_t serial_rx_byte(avrSerial* serial); +uint16_t serial_rx_line(avrSerial* serial,char* buffer,uint8_t maxlen); +uint16_t serial_rx(avrSerial* serial,uint8_t* buffer,uint8_t len); + +uint16_t serial_poll_byte(avrSerial* serial); + +uint16_t serial_rxready(avrSerial* serial); + +avrSerial* serial_get(uint8_t no); +avrSerial* serial_null(void); + +FILE* serial_build_stream(avrSerial* serial); + +void serial_set_blocking(avrSerial *serial,uint8_t blocking); +void serial_set_timeout(avrSerial *serial,uint16_t timeout); + diff --git a/core/include/hwo/stack.h b/core/include/hwo/stack.h new file mode 100755 index 0000000..75e0cfd --- /dev/null +++ b/core/include/hwo/stack.h @@ -0,0 +1,27 @@ +#pragma once + +#include + +// stack flags +#define ST_SYSTEM 0x0001 // System Stack Segment +#define ST_FREE 0x0002 // Stack Segment is not in use, may be reallocated to new thread + +#define STACK_TOP(stack) (&stack->base[stack->size - 1]) + +struct stStack +{ + uint8_t *base; + uint16_t size; + + uint16_t flags; + + struct stStack *next; +}; +typedef struct stStack avrStack; + + +uint16_t stack_system_resize(uint16_t size); +avrStack* stack_alloc(uint16_t size); +void stack_free(avrStack *stack); + + diff --git a/core/include/hwo/stamp.h b/core/include/hwo/stamp.h new file mode 100755 index 0000000..47264c7 --- /dev/null +++ b/core/include/hwo/stamp.h @@ -0,0 +1,8 @@ +#pragma once + + +extern char __PRO_STAMP; + +#define STAMP ((uint16_t)&__PRO_STAMP) + + diff --git a/core/include/hwo/statemachine.h b/core/include/hwo/statemachine.h new file mode 100755 index 0000000..875eebb --- /dev/null +++ b/core/include/hwo/statemachine.h @@ -0,0 +1,37 @@ +#pragma once + +/************************************************************************************** + statemachine.h + + Universelle Funktionen zum errichten einer Statemachine + +**************************************************************************************/ + +#include + +#include + +typedef uint8_t (*StateMachineChangerCallback)(uint8_t oldstate,uint8_t newstate); + +struct _sm_statemachine +{ + StateMachineChangerCallback *callbacks; + uint8_t numcallbacks; + + uint8_t state, + changing_to, + change_to; + + MUTEX mutex; +}; + +void sm_set_changerlist(StateMachineChangerCallback *callbacklist); +uint8_t sm_state(void); +void sm_change(uint8_t tostate); +void sm_change_immediate(uint8_t newstate); + +void sm_wait(uint8_t state); + + + + diff --git a/core/include/hwo/sysevents.h b/core/include/hwo/sysevents.h new file mode 100755 index 0000000..ffd021e --- /dev/null +++ b/core/include/hwo/sysevents.h @@ -0,0 +1,3 @@ +#pragma once + +#include diff --git a/core/include/hwo/systick.h b/core/include/hwo/systick.h new file mode 100755 index 0000000..5cecb6f --- /dev/null +++ b/core/include/hwo/systick.h @@ -0,0 +1,55 @@ +#pragma once + +/************************************************************ + + hwo/systick.h + + define systick methods for generating periodic events + used by... + -multithreading environment + -user defined event + + uses timer0 for generating ticks + +************************************************************/ + +#include + +#if 0 + +#include +#include + +typedef uint32_t systick_t; + +struct avr_wait +{ + systick_t target; +}; +typedef struct avr_wait avrWAIT; + +typedef void (*systick_handler)(systick_t ticks); + +extern volatile uint32_t _systick_secs; // system uptime in [s] +extern volatile systick_t _systick_ticks; // system uptime in [us] + +void systick_init(systick_t systick_us); +void systick(void); +void systick_set_us(systick_t tickus); + +systick_t systick_ticks(void); +uint32_t systick_secs(void); + +void systick_set_handler(systick_handler handler); +void systick_set_handler_sec(systick_handler handler); + +void wait_ms(systick_t ms); + +void wait_async_set(avrWAIT* wait,systick_t us); +uint8_t wait_async_test(avrWAIT* wait); + + * +/* Interface to CPU Low Level Routines */ +void systick_timer_init(uint32_t systick_us); + +#endif \ No newline at end of file diff --git a/core/include/hwo/terminal.h b/core/include/hwo/terminal.h new file mode 100755 index 0000000..81f5a9d --- /dev/null +++ b/core/include/hwo/terminal.h @@ -0,0 +1,51 @@ +#pragma once + +/*********************************************************************** + + terminal.h + + ANSI Terminal Code Interface for avr8os + +***********************************************************************/ + +#include + +#define TERM_ESC "\x1b" +#define TERM_CSI TERM_ESC "[" +#define TERM_HOME TERM_CSI "H" +#define TERM_CLEAR TERM_CSI "2J" +#define TERM_SAVE_POS TERM_CSI "s" +#define TERM_REST_POS TERM_CSI "u" +#define TERM_HIDE TERM_CSI "?25l" +#define TERM_SHOW TERM_CSI "?25h" +#define TERM_CLEAR_LINE TERM_CSI "2K" +#define TERM_CLEAR_EOL TERM_CSI "K" +#define TERM_ENA_SCROLL TERM_CSI "r" + +#define TERM_SAVE_CURSOR TERM_ESC "7" +#define TERM_REST_CURSOR TERM_ESC "8" + +#include + +#define term_clear(s) fprintf(s,TERM_CLEAR) +#define term_home(s) fprintf(s,TERM_HOME) +#define term_save(s) fprintf(s,TERM_SAVE_POS) +#define term_restore(s) fprintf(s,TERM_REST_POS) +#define term_hide(s) fprintf(s,TERM_HIDE) +#define term_show(s) fprintf(s,TERM_SHOW) +#define term_clear_line(s) fprintf(s,TERM_CLEAR_LINE) +#define term_clear_eol(s) fprintf(s,TERM_CLEAR_EOL) +#define term_ena_scroll(s) fprintf(s,TERM_ENA_SCROLL) +#define term_scroll(s,start,end) term_p2(s,'r',start,end) +#define term_goto(s,x,y) term_p2(s,'H',y,x) + +#define term_save_cursor(s) fprintf(s,TERM_SAVE_CURSOR) +#define term_restore_cursor(s) fprintf(s,TERM_REST_CURSOR) + + +void term_p2(FILE* stream,uint8_t cmd,uint8_t a,uint8_t b); + + + + + diff --git a/core/include/hwo/threads.h b/core/include/hwo/threads.h new file mode 100755 index 0000000..2cb34e0 --- /dev/null +++ b/core/include/hwo/threads.h @@ -0,0 +1,4 @@ +#pragma once + +#include + diff --git a/core/include/hwo/trace.h b/core/include/hwo/trace.h new file mode 100755 index 0000000..2a6bafd --- /dev/null +++ b/core/include/hwo/trace.h @@ -0,0 +1,3 @@ +#pragma once + +#include \ No newline at end of file diff --git a/core/include/hwo/utils.h b/core/include/hwo/utils.h new file mode 100644 index 0000000..709fef8 --- /dev/null +++ b/core/include/hwo/utils.h @@ -0,0 +1,72 @@ +#pragma once + +#include + +#include +#include +#include + +#define LOW(a) (a&0xFF) +#define HIGH(a) ((a>>8)&0xff) + +#define zeromem(a) memset(&a,0x00,sizeof(a)); +#define RETFAIL(a) if (a) return -1; + +#define FAIL(a) { int8_t r = (a); if (r) { return r; }; } +#define FAILDBG(a) { int8_t r = (a); if (r) { lasterror = (r&0xffff) | (((uint32_t)getPC())<<16); return r; }; } + +#define IFAIL(a) { int8_t r = (a); if (!r) { return -127; }; } +#define IFAILDBG(a) { int8_t r = (a); if (!r) { lasterror = (((uint32_t)getPC())<<16); return -127; }; } + +extern uint32_t __freq_cpu; +extern uint8_t* __brkval; +extern uint8_t* __stack_limit; +extern thread_t* _thread_current; + +extern uint16_t dbgPtr; +extern uint32_t lasterror; + +#define MALLOC_CLEANUP(type,var,size) \ + inline void __freefree(type **pptr) { free((void*)*pptr); }; \ + type* var __attribute__((__cleanup__(__freefree))) = (type*)malloc(size); + +#define WAITFOR( var ) { while (!var) yield(); } + +struct _smoother +{ + float sum, + inv_n; +}; +typedef struct _smoother SMOOTHER; + + +float smooth(SMOOTHER *s,float input); +void smoother_set(SMOOTHER *s,float sum,float n); + +#define DBG_SAVE_MEMLIMITS() eeprom_write_word( (void*)0x00, (int16_t)__brkval ); \ + eeprom_write_word( (void*)0x02, (int16_t) __stack_limit ); \ + eeprom_write_word( (void*)0x04, SP ); \ + eeprom_write_word( (void*)0x06, (int16_t)_thread_current->stack->base ); + +int wcslen(wchar_t* str); + +int64_t ifact(int n); + +static inline void i32_xch(void *ptr) +{ + uint8_t *b = ptr; + uint8_t a; + + a = b[0]; + b[0] = b[3]; + b[3] = a; + a = b[1]; + b[1] = b[2]; + b[2] = a; +}; + + + + + + diff --git a/core/include/io/pipe.h b/core/include/io/pipe.h new file mode 100755 index 0000000..e7117c4 --- /dev/null +++ b/core/include/io/pipe.h @@ -0,0 +1,46 @@ +#pragma once + +#include +#include + +struct __pipe +{ + volatile uint8_t *buffer; + volatile int size; + volatile int + read, + write; + + uint8_t options; + + THREAD *wait_get, + *wait_put; +}; +typedef struct __pipe PIPE; +#define PIPE(ptr) ((PIPE*)ptr) + +typedef struct { + FILE file; + PIPE pipe; +} fdPIPE; +#define fdPIPE(ptr) ((fdPIPE*)(ptr)) + +int pipe_clear(FILE* pipe); +int pipe_options(FILE* pipe,uint8_t options); + +int pipe_get(FILE* stream); +int pipe_put(char c,FILE* stream); + +static inline int pipe_full(FILE* pipe) +{ + return ( + ((fdPIPE(pipe)->pipe.read == 0) && (fdPIPE(pipe)->pipe.write == fdPIPE(pipe)->pipe.size - 1)) || + (fdPIPE(pipe)->pipe.write + 1 == fdPIPE(pipe)->pipe.read) + ); +}; + +static inline int pipe_empty(FILE* pipe) +{ + return (fdPIPE(pipe)->pipe.read == fdPIPE(pipe)->pipe.write); +}; + diff --git a/core/include/io/usart.h b/core/include/io/usart.h new file mode 100644 index 0000000..e71b9b7 --- /dev/null +++ b/core/include/io/usart.h @@ -0,0 +1,79 @@ +#pragma once + +#include + +#if defined(__USART_BUFFER__) // buffer based i/o +#else + #include +#endif + +#include +#include + +#define USART_5BIT 0x0100 +#define USART_6BIT 0x0200 +#define USART_7BIT 0x0400 +#define USART_8BIT 0x0800 + +#define USART_PAR_E 0x1000 +#define USART_PAR_O 0x2000 + +#define USART_STOP2 0x4000 + +#define USART_MODE_TX (1<<0) +#define USART_MODE_RX (1<<1) + + +typedef struct __io_usart usart_t; + + +struct __io_usart +{ + int (*configure) (usart_t *usart,uint32_t baud,uint32_t config); + int (*mode_set) (usart_t *usart,uint16_t mode); + int (*mode_clear) (usart_t *usart,uint16_t mode); + +#if defined(__USART_BUFFER__) // buffer based i/o + + buffer_t tx, + rx; + +#else // fifo based i/o + + #define usart_fifo_t fifo64_t + #define usart_fifo_read f64_read + #define usart_fifo_write f64_write + + usart_fifo_t + tx, + rx; + +#endif + + uint8_t driverdata[0]; +}; + +usart_t* usart_device_get(int usart); + +int usart_configure (uint8_t usart,uint32_t baud,uint32_t config); +int usart_options (uint8_t usart,uint8_t options); + +#define usart_tx_str(u,t) usart_tx(u,t,strlen(t)) + +#if defined(__USART_BUFFER__) + + int usart_tx (uint8_t usart,void *data,int size); + int usart_tx_done (uint8_t usart); + + int usart_rx (uint8_t usart,void *data,int size); + int usart_rx_done (uint8_t usart); + + +#else + + int usart_read (uint8_t usart); + int usart_write (uint8_t usart,int ch); + + int usart_tx (uint8_t usart,char *b,int size); + +#endif \ No newline at end of file diff --git a/core/include/rb2/api.h b/core/include/rb2/api.h new file mode 100644 index 0000000..f299694 --- /dev/null +++ b/core/include/rb2/api.h @@ -0,0 +1,160 @@ +#pragma once + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include + +/*********************************** + rb2/regbus.h + + RegisteredBus2 + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +***********************************/ + +extern RB2_INSTANCE __rb2_instance; + +int rb2_request (RB2_ADDR receiver,uint16_t registerno,uint8_t type,void *data); + +static inline int rb2_read_int32(RB2_ADDR receiver,uint16_t registerno,int32_t *i32) { + return rb2_request(receiver,registerno,RDT_INT32,i32); +}; +static inline int rb2_read_float(RB2_ADDR receiver,uint16_t registerno,float *f32) { + return rb2_request(receiver,registerno,RDT_FLOAT,f32); +}; + +static inline int rb2_write_int32(RB2_ADDR receiver,uint16_t registerno,int32_t *i32) { + return rb2_request(receiver,registerno,RDT_INT32 | RDT_WRITE,i32); +}; +static inline int rb2_write_float(RB2_ADDR receiver,uint16_t registerno,float *f32) { + return rb2_request(receiver,registerno,RDT_FLOAT | RDT_WRITE,f32); +}; + +static inline int rb2_write_int32_d(RB2_ADDR receiver,uint16_t registerno,int32_t i32) { + return rb2_request(receiver,registerno,RDT_INT32 | RDT_WRITE,&i32); +}; +static inline int rb2_write_float_d(RB2_ADDR receiver,uint16_t registerno,float f32) { + return rb2_request(receiver,registerno,RDT_FLOAT | RDT_WRITE,&f32); +}; + +//static inline RB2_INSTANCE* rb2_instance(void) { return &__rb2_instance; }; +#define rb2_instance() (&__rb2_instance) + +static inline uint8_t rb2_first_id(void) { return (__rb2_instance.proxy.next) ? RB2_PROXY(__rb2_instance.proxy.next)->id : 0 ; }; + +static inline uint8_t rb2_request_is_local(RB2_TELEGRAM *telegram) { + if ( ((telegram->receiver.ax == __rb2_instance.ax)||(telegram->receiver.ax==0)) && (__rb2_instance.idmask & (1<receiver.node)) ){ + return -1; + }; + + return 0; +}; + + +static inline void rb2_proxy_init(RB2_PROXY *proxy) { + memset( proxy, 0x00, sizeof(RB2_PROXY) ); + list_init( &proxy->segments ); +}; + +static inline void rb2_add_proxy(RB2_PROXY *proxy) { + list_append( &(proxy->list), &((&__rb2_instance)->proxy) ); + __rb2_instance.idmask |= (1 << proxy->id); +}; + +static inline void rb2_remove_proxy(RB2_PROXY *proxy) { + list_remove( &(proxy->list) ); + __rb2_instance.idmask &= ~(1 << proxy->id); +}; + +static inline void rb2_add_rsegment(RB2_PROXY *proxy,RB2_RSEGMENT *segment) { + list_append( &segment->list, &proxy->segments ); +}; + +static inline RB2_PROXY* rb2_get_proxy(uint8_t id) { + list_t* i; + + for_each_list_entry(i,&((&__rb2_instance)->proxy)){ + RB2_PROXY *p = list_entry(i,RB2_PROXY,list); + if (p->id == id){ + return p; + } + }; + return NULL; +}; + + +uint8_t rb2_init (uint8_t ax); +void rb2_loop (void* arg); // Management Thread +void rb2_loop_rx (); +void rb2_loop_tx (); +void rb2_loop_ident (); + +void rb2_handle_request(rb2_telegram_buffer_t *telegram); +void rb2_handle_response(rb2_telegram_buffer_t *telegram); + +void rb2_route (RB2_TELEGRAM *request); +void rb2_route_listed(rb2_telegram_buffer_t *txtele); +void rb2_router (void *arg); + +int rb2_build_request (RB2_REQUEST *request,RB2_ADDR receiver,uint16_t registerno,uint8_t type,void *data); +int rb2_enqueue_pending (RB2_REQUEST *request); +int rb2_unqueue_pending (RB2_REQUEST *request); + +RB2_LINK* rb2_create_stream_link(FILE *stream); +RB2_LINK* rb2_create_usart_link(uint8_t _usart); + +uint16_t + rb2_known_endpoints(void); + + +void rb2_api_rx (rb2_telegram_buffer_t *telegram); +void rb2_convert (uint8_t srctype,void *src,uint8_t dsttype, void *dst); + +uint8_t rb2_default_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram); + + +static inline int rb2_link_add (RB2_LINK *link){ + cpustate_t state; + + spinlock_lock_irq( &__rb2_instance.links.lock, &state ); + list_append( &(link->list), &(__rb2_instance.links.list) ); + spinlock_release_irq( &__rb2_instance.links.lock, &state ); + + return ESUCCESS; +}; + +rb2_telegram_buffer_t* rb2_pool_pop (void); +rb2_telegram_buffer_t* rb2_pool_pop_irq(void); +void rb2_pool_push (rb2_telegram_buffer_t *tele); + + +/* DEBUG / Tracing */ + +void _dbg_trace_rb2_usart_tx(rb2_telegram_buffer_t *telegram) __attribute__(( weak )); +void _dbg_trace_rb2_usart_rx(rb2_telegram_buffer_t *telegram) __attribute__(( weak )); + +void _dbg_trace_rb2_can_tx(rb2_telegram_buffer_t *telegram) __attribute__(( weak )); +void _dbg_trace_rb2_can_rx(rb2_telegram_buffer_t *telegram) __attribute__(( weak )); + +extern int32_t _dbg_rb2_usart_sync, + _dbg_rb2_usart_sync_min, + _dbg_rb2_usart_sync_max; +extern int32_t _dbg_rb2_usart_txtele, + _dbg_rb2_usart_rxtele; + + + + + diff --git a/core/include/rb2/instance.h b/core/include/rb2/instance.h new file mode 100755 index 0000000..792b7a4 --- /dev/null +++ b/core/include/rb2/instance.h @@ -0,0 +1,61 @@ +#pragma once + +#include +#include + +#include +#include + +/*********************************** + rb2/instance.h + + RegisteredBus2 + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +***********************************/ + + + +struct _rb2_instance +{ + uint8_t ax; // Achsnummer dieses Endpunktes + + uint16_t idmask; // 0x02 Maske aller eigenen IDs + + uint8_t enabled:1; // 0x04 Endpunkt ist aktiv + uint8_t ringmaster:1; // Dieser Knoten ist der Master des RING-BUS + uint8_t reserve:6; + + uint8_t axes; // Anzahl angeschlossener Achsen + + struct { + spinlock_t lock; + + list_t list; // + RB2_LINK *ringlink; + } links; + + avrWAIT ident_timeout; + uint32_t timeout; + + struct { + spinlock_t sl_router; + spinlock_t sl_pending; + + volatile list_t router; + volatile list_t pending; + } queues; + + + list_t proxy; + + struct { + THREAD *router; + } threads; + +}; + + + + diff --git a/core/include/rb2/link.h b/core/include/rb2/link.h new file mode 100644 index 0000000..8cbaa8b --- /dev/null +++ b/core/include/rb2/link.h @@ -0,0 +1,70 @@ +#pragma once + +#include +#include + +#include +#include + +#include + + +/*********************************** + rb2/link.h + + RegisteredBus2 Interface Definitions + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +***********************************/ + +struct _rb2_link +{ + list_t list; + + uint8_t ring:1; + uint8_t identrx:2; + + uint16_t axmask; + uint16_t idmask; + + avrWAIT timeoutIdent; + void *ptr; + + rb2_telegram_buffer_t * + (*receive) (RB2_LINK *link); + uint8_t (*send) (RB2_LINK *link,rb2_telegram_buffer_t *telegram); +}; + +struct _rb2_listed_link { + list_t list; + RB2_LINK *link; +}; + +struct rb2_stream_link { + RB2_LINK link; + FILE *stream; + list_t + txqueue; + + uint8_t rxptr; + rb2_telegram_buffer_t *telegram; +}; + +struct rb2_usart_link { + RB2_LINK link; + + uint8_t usart; + + rb2_telegram_buffer_t *rx, + *tx; + + int rxptr; + + list_t received; + list_t send; +}; + + + + diff --git a/core/include/rb2/proxy.h b/core/include/rb2/proxy.h new file mode 100755 index 0000000..df8a21e --- /dev/null +++ b/core/include/rb2/proxy.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include + +/*********************************** + rb2/proxy.h + + RegisteredBus2 Interface Definitions + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +***********************************/ + + +struct _rb2_proxy; +typedef struct _rb2_proxy RB2_PROXY; +#define RB2_PROXY(ptr) ((RB2_PROXY*)(ptr)) + + +struct _rb2_proxy +{ + list_t list; + + uint8_t id; + uint8_t (*register_proc)(RB2_REGISTER *reg,RB2_TELEGRAM *telegram); + register_node_proc + register_node_proc; + + list_t segments; +}; + diff --git a/core/include/rb2/regbus.h b/core/include/rb2/regbus.h new file mode 100644 index 0000000..2cd5f1c --- /dev/null +++ b/core/include/rb2/regbus.h @@ -0,0 +1,60 @@ +#pragma once + +#include + +/*********************************** + rb2/regbus.h + + RegisteredBus2 + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +***********************************/ + +struct _rb2_instance; +typedef struct _rb2_instance RB2_INSTANCE; +#define RB2_INSTANCE(ptr) ((RB2_INSTANCE*)(ptr)) + +#define RB2_IDENT_TIMEOUT 100000L // [us] Timeout für periodisches senden der IDENT Telegramme +#define RB2_REQUEST_TIMEOUT 40L // [ms] Timeout für nicht bestätigte REQUESTs + +#define RB2_MAGIC 0x77 + +// Festgelegte Ax Nummern +#define RB_AX_LOCAL 0x00 // Lokales Axensystem +#define RB_AX_MASTER 0x0D // Ring Master (z.B. Fernbedienung) + +// Festgelegte Knoten Nummern +#define RB_NODE_PROXY 0x00 // Knoten mit Anbindung an RING-BUS +#define RB_NODE_BROADCAST 0x0F // Broadcast an alle Knoten + + +struct _rb2_link; +typedef struct _rb2_link RB2_LINK; +typedef struct _rb2_link rb2_link_t; +#define RB2_LINK(ptr) ((RB2_LINK*)(ptr)) + +struct _rb2_listed_link; +typedef struct _rb2_listed_link RB2_LISTED_LINK; +#define RB2_LISTED_LINK(ptr) ((RB2_LISTED_LINK*)(ptr)) + +struct rb2_stream_link; +typedef struct rb2_stream_link RB2_STREAM_LINK; +#define RB2_STREAM_LINK(ptr) ((RB2_STREAM_LINK*)(ptr)) + +struct rb2_usart_link; +typedef struct rb2_usart_link RB2_USART_LINK; +#define RB2_USART_LINK(ptr) ((RB2_USART_LINK*)(ptr)) + +struct rb2_can_link; +typedef struct rb2_can_link RB2_CAN_LINK; +#define RB2_CAN_LINK(ptr) ((RB2_CAN_LINK*)ptr) + + +#include +#include +#include +#include +#include +#include + diff --git a/core/include/rb2/register.h b/core/include/rb2/register.h new file mode 100755 index 0000000..1cc53e5 --- /dev/null +++ b/core/include/rb2/register.h @@ -0,0 +1,67 @@ +#pragma once + +#include + +#include + +// Register Data Types +#define RDT_INT32 0x00 // 32Bit Integer +#define RDT_FLOAT 0x01 // 32Bit Fliesskommazahl +#define RDT_FP4816 0x02 // 64Bit Fixkommazahl (48.16). +#define RDT_BINARY 0x03 // 32Bit Bitmaske +#define RDT_FP1616 0x04 // 32Bit Fixkommazahl (16.16) + +#define RDT_INT8 0x10 // 8Bit Integer -> auf Bus als 32bit +#define RDT_INT16 0x20 // 16Bit Integer -> auf Bus als 32bit + +#define RDT_8BIT 0x10 +#define RDT_16BIT 0x20 +#define RDT_WRITE 0x80 // Flag für register_proc(...), Schreibzugriff + +// RegisterProc Return Values +#define RPR_OK 0x00 // Kein Verarbeitungsfehler + + + +/** +* register_node_proc(..) prototype: Callback to read/write register values of a "node" +**/ + +#define RNPOP_READ 0x0000 +#define RNPOP_WRITE 0x0001 + +#define RNPOP_MASK 0x00FF +#define RNPOP_IDMASK 0xFF00 + +typedef int (*register_node_proc)(int op,int regno,uint8_t *type,void *buffer); + + + + + +struct _rb2_register; +typedef struct _rb2_register RB2_REGISTER; +#define RB_REGISTER(ptr) ((RB2_REGISTER*)ptr) + +struct _rb2_register_segment; +typedef struct _rb2_register_segment RB2_RSEGMENT; +#define RB2_RSEGMENT(ptr) ((RB2_RSEGMENT*)ptr) + + +struct _rb2_register +{ + uint16_t register_no; + uint8_t register_type; + + void *ptr; + +}; + +struct _rb2_register_segment +{ + list_t list; + + struct _rb2_register + registers[]; +}; + diff --git a/core/include/rb2/telegram.h b/core/include/rb2/telegram.h new file mode 100644 index 0000000..217317d --- /dev/null +++ b/core/include/rb2/telegram.h @@ -0,0 +1,134 @@ +#pragma once + +#include +#include + +/*********************************** + rb2/regbus.h + + RegisteredBus2 + + Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung + +Paketformat ähnelt ServiceLink: + + Byte Inhalt + 0 Magic 0x77 + 1 empfänger + 2 sender + 3 flags + + !flags.ident: + 4..5 register + 6..9 value + flags.ident: + 4..5 endpunktmaske + 6 achse + 7..9 reserve + + Alle: + 10..11 CHKSUM (SUM+XOR) + + +***********************************/ + +struct _rb2_addr; +struct _rb2_telegram; +union _rb2_flags; +struct _rb2_request; +struct _rb2_listed_telegram; + +typedef struct _rb2_addr RB2_ADDR; +typedef struct _rb2_telegram RB2_TELEGRAM; +typedef union _rb2_flags RB2_FLAGS; +typedef struct _rb2_request RB2_REQUEST; + +typedef struct _rb2_telegram rb2_telegram_t; +typedef struct _rb2_telegram_buffer + rb2_telegram_buffer_t; + + +#define RB2_ADDR(ptr) ((RB2_ADDR*)(ptr)) +#define RB2_TELEGRAM(ptr) ((RB2_TELEGRAM*)(ptr)) +#define RB2_FLAGS(ptr) ((RB2_FLAGS*)(ptr)) +#define RB2_REQUEST(ptr) ((RB2_REQUEST*)(ptr)) +#define rb2_telegram_buffer_t(ptr) ((rb2_telegram_buffer_t*)(ptr)) + +struct _rb2_addr +{ + union + { + struct + { + uint8_t ax:4; + uint8_t node:4; + }; + uint8_t addr; + }; +}; + +union _rb2_flags +{ + struct + { + uint8_t ident:1; // 1 = Ident Paket, 0 = Request/Response + uint8_t response:1; // 1 = Antwort auf Request, 0 = Request + uint8_t read:1; // 1 = Wert Lesen, 0 = Wert Schreiben + uint8_t fail:1; // 1 = Anfrage fehlgeschlagen + + uint8_t type:4; // 0 = Wert als Int32, 1 = Wert als float,... + }; + uint8_t byte; +}; + +struct _rb2_telegram +{ + uint8_t magic; + RB2_ADDR receiver; + RB2_ADDR sender; + RB2_FLAGS flags; + union + { + struct // flags.ident = 0 + { + uint16_t regno; + union + { + int32_t i32; + float f32; + uint32_t ui32; + }; + }; + struct // flags.ident = 1 + { + uint16_t endpoints; + uint8_t ax; + }; + }; + CHKSUM chksum; +}; + + +struct _rb2_telegram_buffer { + list_t list; + + rb2_link_t *link; + + union { + rb2_telegram_t telegram; + unsigned char bytes[ sizeof( rb2_telegram_t ) ]; + }; + +}; + +struct _rb2_request +{ + list_t list; + + uint8_t autofree:1; + + THREAD *waiter; + RB2_TELEGRAM telegram; +}; + +typedef struct _rb2_request rb2_request_t; diff --git a/core/include/stddef.h b/core/include/stddef.h new file mode 100755 index 0000000..2b69638 --- /dev/null +++ b/core/include/stddef.h @@ -0,0 +1,9 @@ +#pragma once + +#include_next + +typedef int wchar_t; + +#ifndef NULL + #define NULL 0L +#endif diff --git a/core/include/stdio.h b/core/include/stdio.h new file mode 100644 index 0000000..37195b2 --- /dev/null +++ b/core/include/stdio.h @@ -0,0 +1,144 @@ +#pragma once + +#if 0 + #include_next +#else + + #define __HWO_STDIO__ + + #include + + #include + + struct _file; + typedef struct _file FILE; + + typedef int (*fdevput)(char,FILE*); + typedef int (*fdevget)(FILE*); + typedef int (*fdevreadblock)(FILE *,void *,int); + typedef int (*fdevwriteblock)(FILE *,void *,int); + + +#define _FDEV_ERR -1 +#define _FDEV_EOF -2 + + struct _file { + fdevput put; + fdevget get; + fdevreadblock + readblock; + fdevwriteblock + writeblock; + + thread_t *notify; + + void *udata; + + char uappend[0]; + }; + + FILE* fdev_create(int appendsize,fdevput put,fdevget get,fdevreadblock readblock,fdevwriteblock writeblock); + int fdev_notify(FILE* f,thread_t* notify); + + +static inline int fputc(int ch, FILE *stream) { + if ((stream == NULL) || (stream->put == NULL)) { + return -1; + }; + return stream->put( ch, stream ); +}; + +//#define fgetc(stream) (stream->get(stream)) +static inline int fgetc(FILE *stream) { + int ch; + if ((stream == NULL) || (stream->get == NULL)) { + return -1; + }; + + ch = stream->get( stream ); + return ch; +}; + +#define fdev_get_udata(stream) (stream->udata) +#define fdev_set_udata(stream,u) (stream->udata = u) + + +#define fprintf(...) +#define clearerr(stream) + +int sprintf(char *dst,const char* fmt,...); + +#endif + + + + +#ifndef __DONT_WRAP_STDLIB__ + +#include + +#define IO_BLOCK_RD 0x01 +#define IO_BLOCK_WR 0x02 +#define IO_BLOCK (IO_BLOCK_RD | IO_BLOCK_WR) + +FILE* dev_null(void); +FILE* pipe(int size); // Erzeuge einen FIFO der Grösse Bytes +FILE* usart_open(int usart); + +FILE* fdevopen_ts (int(*put)(char, FILE *),int(*get )(FILE *)); +int fclose_ts(FILE* file); + + +#define fdevopen(__put,__get) fdevopen_ts(__put,__get) +#define fclose(file) fclose_ts(file) + +//#define fprintf(file,format,...) sprintf((char*)local_buffer(),format, ## __VA_ARGS__ ); fputs( (char*)local_buffer(), file ) + +static inline int fputsn(char *buffer,int len,FILE *stream) +{ + int n; + + if (stream){ + + if (stream->writeblock){ + return stream->writeblock(stream,buffer,len); + }; + + for (n=0;n + +#include + +void free_ts (void* ptr); +void* malloc_ts (size_t size); +void* calloc_ts (size_t _nele,size_t size); + +#define malloc(size) malloc_ts(size) +#define calloc(nele,size) calloc_ts(nele,size) +#define free(size) free_ts(size) + diff --git a/core/include/sys/adc.h b/core/include/sys/adc.h new file mode 100755 index 0000000..1fca8e6 --- /dev/null +++ b/core/include/sys/adc.h @@ -0,0 +1,67 @@ +#pragma once + +#include +#include +#include + +#ifndef ADC_CHANNELS + #define ADC_CHANNELS 8 +#endif + +struct adc_channel { +#if !defined (__SIMPLE_ADC__) + uint16_t raw; +#else + #define raw value +#endif + uint16_t value; +}; + +#if !defined (__SIMPLE_ADC__) + +struct adc_params { + uint16_t min; + uint16_t max; +}; + +#endif + +struct adc { + struct adc_channel channels[ ADC_CHANNELS ]; + +#if !defined (__SIMPLE_ADC__) + union { + EEPROM eeprom; + struct adc_params params[ ADC_CHANNELS ]; + }; +#endif + +}; + +#if !defined (__SIMPLE_ADC__) +extern uint8_t _adc_bank; +#endif + +extern struct adc adc; + +void adc_init(uint8_t bank); +void adc_reinit(void); +void adc_save(void); + +static inline uint16_t adc_value(uint8_t ch) { if (ch < ADC_CHANNELS) return adc.channels[ch].value; return 0; }; + +#if !defined (__SIMPLE_ADC__) + +void adc_set_limit_min(uint8_t ch,uint16_t limit); +void adc_set_limit_max(uint8_t ch,uint16_t limit); +void adc_set_limit_range(uint8_t ch,uint16_t limit); + +uint16_t adc_get_limit_min(uint8_t ch); +uint16_t adc_get_limit_max(uint8_t ch); +uint16_t adc_get_limit_range(uint8_t ch); + +uint8_t adc_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram); +int adc_node_proc(int op,int regno,uint8_t *type,void *buffer); + +#endif + diff --git a/core/include/sys/arch/atomic.h b/core/include/sys/arch/atomic.h new file mode 100644 index 0000000..f0453b0 --- /dev/null +++ b/core/include/sys/arch/atomic.h @@ -0,0 +1,17 @@ +#pragma once + +#include +#include +#include + +#include +#include + +extern intptr_t _dbg_atomic_ip; + + +#define ATOMIC \ + inline void __restoresreg(uint8_t *sr) { SREG = *sr; rt_dbg->atomic_ip = 0; }; \ + uint8_t __sreg __attribute__((__cleanup__(__restoresreg))) = SREG; \ + cli(); \ + rt_dbg->atomic_ip = getPC(); diff --git a/core/include/sys/arch/spinlock.h b/core/include/sys/arch/spinlock.h new file mode 100644 index 0000000..bfe78d8 --- /dev/null +++ b/core/include/sys/arch/spinlock.h @@ -0,0 +1,18 @@ +#pragma once +/** + * sys/arch/spinlock.h AVR Spinlock implementation + **/ + +#include +#include +#include + +#define SPINLOCK_INIT_UNLOCKED 0x00 +#define SPINLOCK(name) spinlock_t name = SPINLOCK_INIT_UNLOCKED + +typedef uint8_t spinlock_t; + +void spinlock_lock(spinlock_t *spinlock); +void spinlock_release(spinlock_t *spinlock); +void spinlock_lock_irq(spinlock_t *spinlock,cpustate_t *state); +void spinlock_release_irq(spinlock_t *spinlock,cpustate_t *state); diff --git a/core/include/sys/arch/systick.h b/core/include/sys/arch/systick.h new file mode 100644 index 0000000..3c0125a --- /dev/null +++ b/core/include/sys/arch/systick.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +/* Interface to CPU Low Level Routines */ +void systick_timer_init(uint32_t systick_us); + +#define avrWAIT ST_WAIT diff --git a/core/include/sys/assert.h b/core/include/sys/assert.h new file mode 100644 index 0000000..a391217 --- /dev/null +++ b/core/include/sys/assert.h @@ -0,0 +1,38 @@ +#pragma once + +#include + +#if defined(DEBUG_ASSERTIONS) + #pragma message "ASSERTIONS: DEBUG MODE" + + +void _assert(int result,int16_t loc); +void _assert_read(void); + +static inline int _noassert(int r,int16_t loc) { + if (r<0) + { + _assert( r, loc ); + }; + return r; +}; + +int32_t _assert_current(void); +int32_t _assert_current_error(void); + + #define assert2(f,p) { int r = (f); if (r<0) { _assert( r, p ); return r; }; } + #define assert(f) assert2( f, getPC() ) + #define noassert(f) _noassert( (f), getPC() ) + +#else + + #define assert2(f,p) (f) + #define assert(f) (f) + #define noassert(f) (f) + + #define _assert_read() (0) + #define _assert_current_error() (0) + #define _assert_current() (0) + + +#endif diff --git a/core/include/sys/atomic.h b/core/include/sys/atomic.h new file mode 100755 index 0000000..7e39054 --- /dev/null +++ b/core/include/sys/atomic.h @@ -0,0 +1,22 @@ +#pragma once + +#include +#include +#include + +#include + +#define ATOM_SET_BIT(atom,bit) { \ + ATOMIC \ + atom |= (1L< + +struct bootsys { + uint32_t version; + + union { + uint32_t flags; + struct { + uint32_t flashimage:1; // Image für Update steht bereit + uint32_t flashed:1; // Kennung Update erfolgreich + }; + }; + + uint32_t reserve[14]; +}; + + diff --git a/core/include/sys/checks.h b/core/include/sys/checks.h new file mode 100644 index 0000000..999a089 --- /dev/null +++ b/core/include/sys/checks.h @@ -0,0 +1,4 @@ +#pragma once + +#define require( value ) { int r = (value); if (r < 0) return r; } +#define tolerate( state, result ) { int r = (result); if (r < 0) state = r; } \ No newline at end of file diff --git a/core/include/sys/cpu.h b/core/include/sys/cpu.h new file mode 100644 index 0000000..f6ff01f --- /dev/null +++ b/core/include/sys/cpu.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +extern uint32_t __freq_cpu; +typedef uint8_t cpustate_t; + diff --git a/core/include/sys/dbg.h b/core/include/sys/dbg.h new file mode 100644 index 0000000..c84acb6 --- /dev/null +++ b/core/include/sys/dbg.h @@ -0,0 +1,12 @@ +#pragma once + +#include + +typedef struct { + intptr_t atomic_ip; + intptr_t spinlock_ip; + intptr_t last_vect[4]; + intptr_t last_late_vect[4]; +} rt_dbg_t; + +#define rt_dbg ((rt_dbg_t*)((int)__malloc_heap_end - sizeof( rt_dbg_t ) ) ) diff --git a/core/include/sys/errno.h b/core/include/sys/errno.h new file mode 100644 index 0000000..e861963 --- /dev/null +++ b/core/include/sys/errno.h @@ -0,0 +1,19 @@ +#pragma once + + +#define ESUCCESS 0 +#define ENULLPTR 1 +#define EPARAM 2 +#define ETIMEOUT 3 +#define EHWTIMEOUT 4 +#define EBUSY 5 +#define EFAIL 6 +#define ENOMEM 7 +#define ENOFILE 8 +#define ESHORT 9 +#define ECRC 10 +#define EUNKNOWN 11 +#define EREPEATED 12 + + + diff --git a/core/include/sys/events.h b/core/include/sys/events.h new file mode 100755 index 0000000..92e8984 --- /dev/null +++ b/core/include/sys/events.h @@ -0,0 +1,45 @@ +#pragma once + +#include + +#include +#include + +#include + +#define EV_FLAG_AUTOFREE 0x01 + +struct avr_event +{ + list_t list; + + uint8_t flags; + + uint32_t event; // Ereigniscode + uint32_t parm1, // Parameter 1 + parm2; // Parameter 2 + + void *ptr; // Ptr Parameter + + uint64_t time; // Wann wurde das Ereignis gesetzt +}; + +typedef struct avr_event avrEVENT; +typedef struct avr_event EVENT; + +#define EVENT(ptr) ((EVENT*)ptr) + + +extern list_t _ev_head; +extern EVENT *_ev_cleanup; + +extern THREAD *eventWaiter; + +int event_append(EVENT *event); +int event_push(uint32_t event,uint32_t p1,uint32_t p2,void* ptr); +void event_cleanup(void); + +avrEVENT* event_wait(uint32_t maxwait); // Nächstes Ereignis holen, warte maximal us dann return NULL +avrEVENT* event_pull(void); // Nächstes Ereignis holen, blockiert immer bis Ereignis vorhanden + + diff --git a/core/include/sys/fastfile.h b/core/include/sys/fastfile.h new file mode 100755 index 0000000..0310f26 --- /dev/null +++ b/core/include/sys/fastfile.h @@ -0,0 +1,51 @@ +#pragma once + +#include +#include + +struct fastfile; +typedef struct fastfile fastfile_t; + +struct fastfile { + int size; + + struct { + int (*seek) (fastfile_t *ff,int position); + int (*tell) (fastfile_t *ff); + int (*read) (fastfile_t *ff,void *buffer,int len); + int (*write)(fastfile_t *ff,void *buffer,int len); + int (*close)(fastfile_t *ff); + } ops; +}; + + +static inline int ff_seek(fastfile_t *ff,int position) { + if (!ff || !ff->ops.seek) + return -ENULLPTR; + return ff->ops.seek(ff,position); +}; + +static inline int ff_tell(fastfile_t *ff) { + if (!ff || !ff->ops.tell) + return -ENULLPTR; + return ff->ops.tell(ff); +}; + +static inline int ff_read(fastfile_t *ff,void *buffer,int len) { + if (!ff || !ff->ops.read) + return -ENULLPTR; + return ff->ops.read(ff,buffer,len); +}; + +static inline int ff_write(fastfile_t *ff,void *buffer,int len) { + if (!ff || !ff->ops.write) + return -ENULLPTR; + return ff->ops.write(ff,buffer,len); +}; + +static inline int ff_close(fastfile_t *ff) { + if (!ff || !ff->ops.close) + return -ENULLPTR; + return ff->ops.close(ff); +}; + diff --git a/core/include/sys/i2ceeprom.h b/core/include/sys/i2ceeprom.h new file mode 100644 index 0000000..87a1d3d --- /dev/null +++ b/core/include/sys/i2ceeprom.h @@ -0,0 +1,46 @@ +#pragma once + +#include +#include + +#define EEF_BOOTSYS 0x0000 +#define EEF_FLASHIMG 0x0001 +#define EEF_BOOTPARAM 0x0002 + +struct eefile { + int32_t name; + int32_t size; +}; + + +struct _i2cee { + uint8_t emask; + + + int32_t size; +}; + +extern struct _i2cee i2cee; + + +uint8_t i2cee_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram); + +void i2cee_identify(void); // Identifiziere externe EEPROMS +int32_t i2cee_size(void); // Gibt die Gesamtgröße der externen EEPROMS zurück + +int i2cee_load(int32_t base,void *p,int16_t len); +int i2cee_save(int32_t base,void *p,int16_t len); + +int32_t i2cee_defrag(void); +int32_t i2cee_create_file(int32_t name,int32_t size); + + +typedef struct { + int32_t tag, + offset, + size, + reserve; +} part_t; + + + diff --git a/core/include/sys/mutex.h b/core/include/sys/mutex.h new file mode 100755 index 0000000..c3e7184 --- /dev/null +++ b/core/include/sys/mutex.h @@ -0,0 +1,29 @@ +#pragma once + +#include +#include + +struct mutex +{ + uint8_t locked; + THREAD *thread; +}; + +typedef struct mutex MUTEX; + +APICALL mutex_lock(MUTEX *mutex); +uint8_t mutex_try_lock(MUTEX *mutex); + +APICALL mutex_lock_timeout(MUTEX *mutex,int32_t timeout); + +APICALL mutex_release(MUTEX *mutex); + +MUTEX* mutex_lock_indirect(volatile MUTEX *mutex); +void mutex_release_indirect(volatile MUTEX **mutex); + + +#define MUTEXED(pmutex) \ + volatile MUTEX *___mutex __attribute__((__cleanup__(mutex_release_indirect))) = mutex_lock_indirect(pmutex); + + + diff --git a/core/include/sys/outputs.h b/core/include/sys/outputs.h new file mode 100755 index 0000000..52662ce --- /dev/null +++ b/core/include/sys/outputs.h @@ -0,0 +1,78 @@ +#pragma once + +#include + +#include + +#define POF_SET_ON 0x01 // Ein Signal einschalten bei output_on +#define POF_SET_OFF 0x02 // Ein Signal ausschalten bei output_off +#define POF_SENS_OC 0x04 // Überlastsignal an Pin +#define POF_SENS_LOAD 0x08 // Lastmessung an ADC +#define POF_TRIGGER_ON 0x10 // Eine Signalflanke erzeugen bei output_on +#define POF_TRIGGER_OFF 0x20 // Eine Signalflanke erzeugen bei output_off + +#define POF_ALL (POF_SET_ON | POF_SET_OFF | POF_SENS_OC | POF_SENS_LOAD) + +#define POS_OVERCURRENT 0x01 // Fehler: Überlast +#define POS_CTRL_ON 0x10 // Status: Eingang wurde eingeschaltet +#define POS_CTRL_OFF 0x20 // Status: Eingang wurde ausgeschaltet + + + + +static inline void trigger_pos(volatile unsigned char *reg,uint8_t bit){ + volatile uint8_t n; + + *reg |= (1< +#include + +#include +#include + +#include + + + + +#define ASSERT_BUFFER_LEN 8 + +#define RTA_USER0 0x01 +#define RTA_USER1 0x02 +#define RTA_SERVICE0 0x04 +#define RTA_SERVICE1 0x08 +#define RTA_SERVICE2 0x10 +#define RTA_MANUFACT0 0x20 +#define RTA_MANUFACT1 0x40 +#define RTA_DEVELOPER 0x80 + +union spaccessmask { + uint8_t code; + struct { + uint8_t user0:1; + uint8_t user1:1; + uint8_t service0:1; + uint8_t service1:1; + uint8_t service2:1; + uint8_t manufact0:1; + uint8_t manufact1:1; + uint8_t developer:1; + }; +}; + +union spaccesscode { + int32_t code; + uint8_t code8[4]; + struct { + uint16_t servicepartner; + union spaccessmask + accessmask; + uint8_t passcode; + }; +}; + +union rt_flags { + int32_t code; + struct { + int32_t eeprom_corrupt:1; // EEPROM konnte nicht geladen werden + int32_t is_running:1; // Aktueller Status "RUNNING" + int32_t service_pending:1; // Serviceintervall steht an (next_service <= secs_running) + }; +}; + +union rt_serial { + int32_t code; + struct { + int32_t serial:28; + int32_t family:4; + }; +}; + +union rt_eeprom { + avrEEPROM eeprom; + struct + { + union rt_serial + serial; // Seriennummer der Elektronik + int32_t secs_powered; // Sekunden an Versorgung + int32_t secs_running; // Sekunden mit eingeschalteter Endstufe + int32_t count_poweron; // Anzahl PowerOn + int32_t next_service; // Zeitpunkt nächster Service + int32_t service_partner; // ServicePartner ID bei letzter Anpassung next_service + int32_t service_set_time; // Zeitpunkt der letzten Änderung next_service + int32_t last_auth; // ServicePartner ID des letzten authentifizierten ServicePartners + }; + int32_t list[8]; +}; + +struct rt_ram { + union rt_flags flags; + union spaccesscode + accesscode; + + THREAD *rt_thread; + + union rt_eeprom + eeprom; + + struct { + int32_t hardware_id, + hardware_revision, + software_revision, + functional_groups; + } identity; + + uint32_t unix_timeoffset; + unix_time_changing_t + unix_time_changing; + + SYSTIMER *timer; + + systick_t secs_last; + systick_t secs_current, + secs_gone; + + uint8_t bank; + + struct { + /* asserts.next: nächster freier Slot + * asserts.read: nächster zu lesender Slot + */ + int8_t next, + read; + struct { + int16_t location; + int16_t res0; + int error; + } buffer[ ASSERT_BUFFER_LEN ]; + } asserts; + +}; + +#define RT_REVISION(version,revhigh,revlow) ( ((((int32_t)version) & 0xFFFF)<<16) | ((((int32_t)revhigh) & 0xFF)<<8) | (((int32_t)revlow)& 0xFF) ) + + +extern volatile struct rt_ram rt_ram; + +static inline void runtime_set_identity(int32_t hwid,int32_t hwrev,int32_t swrev,int32_t functional) { + rt_ram.identity.hardware_id = hwid; + rt_ram.identity.hardware_revision = hwrev; + rt_ram.identity.software_revision = swrev; + rt_ram.identity.functional_groups = functional; +}; + +void runtime_signal(void); +void runtime_start(int16_t bank); + +void runtime_set_running(uint8_t running); + +static inline uint8_t runtime_is_running(void) { return rt_ram.flags.is_running; }; +static inline volatile struct rt_ram* + runtime_get_buffer(void) { return &rt_ram; }; + +static inline void unixtime_set_changing(unix_time_changing_t changing) { + ATOMIC + rt_ram.unix_time_changing = changing; +}; + +void t_runtime(void *arg); +int rt_node_proc(int op,int regno,uint8_t *type,void *buffer); +uint8_t runtime_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram); + +static inline uint8_t rt_authorized(uint8_t mask) { return ((rt_ram.accesscode.accessmask.code & mask) == mask) ? -1 : 0; }; +uint8_t rt_authenticate(int32_t token); diff --git a/core/include/sys/spi.h b/core/include/sys/spi.h new file mode 100755 index 0000000..44626ba --- /dev/null +++ b/core/include/sys/spi.h @@ -0,0 +1,41 @@ +#pragma once + +/************************************************************************************ + + hwo/intern/spi.h + + Internal Structure for SPI Device Handling + +************************************************************************************/ +#include + +#define SPI_LSBFIRST 0x0001 +#define SPI_MASTER 0x0002 +#define SPI_IDLE_CLKHIGH 0x0004 +#define SPI_PHASE_TRAILING 0x0008 + +/*** spi_configure(...) + Schnittstelle konfigurieren und aktivieren +***/ +int spi_configure(uint32_t clk,uint32_t flags); + +/*** spi_deconfigure(...) + Schnittstelle abschalten +***/ +int spi_deconfigure(void); + +/*** spi_transmit(...) + Daten senden/empfangen. + + Inhalt von wird gesendet, Inhalt von enthält nach Aufruf empfangene Daten. + und dürfen identisch sein, der Treiber muss sicherstellen, dass erst das zu sendende Byte gelesen wird, bevor das empfangene geschrieben wird. +***/ +int spi_transmit(void *tx,void *rx,uint8_t len); + + +int spi_transmit_ex(uint8_t chip,void *tx,void *rx,uint8_t len); +int spi_set_select(void(*select)(uint8_t chip)); + + + + diff --git a/core/include/sys/spinlock.h b/core/include/sys/spinlock.h new file mode 100755 index 0000000..2303a2c --- /dev/null +++ b/core/include/sys/spinlock.h @@ -0,0 +1,3 @@ +#pragma once + +#include diff --git a/core/include/sys/sysevents.h b/core/include/sys/sysevents.h new file mode 100755 index 0000000..c138790 --- /dev/null +++ b/core/include/sys/sysevents.h @@ -0,0 +1,20 @@ +#pragma once + + +#define EV_SYS_BUSDISCONNECT 0x80001000l //(p1: 0 = link, 1 = ring) +#define EV_SYS_BUSCONNECT 0x80001001l //(p1: 0 = link, 1 = ring) +#define EV_SYS_BUSCRCFAIL 0x80001002l +#define EV_SYS_BUSMISSIDENT 0x80001003l // Ident on Ringbus was lost... + +#define EV_SYS_TIMER 0x80001010l // sys_timer event + +#define EV_SYS_USBCONNECT 0x80002000l // USB connected +#define EV_SYS_USBDISCONNECT 0x80002001l // USB disconnected +#define EV_SYS_USBCONFIGURED 0x80002002l // USB Configuration changed + + +#define EV_SYS_DEBUGREQUEST 0x8000FFFFl // Debug Request + +#define TIMERID_SYS_RUNTIME 0x80000000l + + diff --git a/core/include/sys/systick.h b/core/include/sys/systick.h new file mode 100644 index 0000000..7d38aff --- /dev/null +++ b/core/include/sys/systick.h @@ -0,0 +1,74 @@ +#pragma once + +#include + +#include +#include + +typedef uint64_t systick_t; + +struct _systick_wait +{ + systick_t target; +}; +typedef struct _systick_wait ST_WAIT; + +typedef void (*systick_handler)(systick_t ticks); + +extern volatile uint32_t _systick_secs; // system uptime in [s] +extern volatile uint32_t _systick_sec_frac; + +extern volatile systick_t _systick_ticks; // system uptime in [us] + +extern systick_t _systick_us; // Systick Interval in [us] + +extern uint32_t _st_cycles_per_intervall __attribute__((weak)); + + +void systick_init(systick_t systick_us); +void systick(void); +void systick_set_us(systick_t tickus); + +int systick_correct(int32_t correct); + +systick_t systick_ticks(void); +uint32_t systick_secs(void); + +void systick_set_handler(systick_handler handler); +void systick_set_handler_sec(systick_handler handler); + +void wait_ms(uint32_t ms); + +void wait_async_set(ST_WAIT* wait,systick_t us); +uint8_t wait_async_test(ST_WAIT* wait); + +/* call_sys_ctx(...) Rufe Funktion nach Ändern von SP auf CTX ST */ +void call_sys_ctx(void (*proc)(void)); + +#if defined(__DEBUG_PLATFORM__) + + #define VECT(__vect) \ + void _vect_##__vect(void); \ + ISR(__vect){ \ + rt_dbg->last_vect[3] = rt_dbg->last_vect[2]; \ + rt_dbg->last_vect[2] = rt_dbg->last_vect[1]; \ + rt_dbg->last_vect[1] = rt_dbg->last_vect[0]; \ + rt_dbg->last_vect[0] = (int)__vect; \ + call_sys_ctx( _vect_##__vect ); \ + }; \ + void _vect_##__vect(void) + +#else + + #define VECT(__vect) \ + void _vect_##__vect(void); \ + ISR(__vect){ \ + call_sys_ctx( _vect_##__vect ); \ + }; \ + void _vect_##__vect(void) + + +#endif + +#include + diff --git a/core/include/sys/threads.h b/core/include/sys/threads.h new file mode 100644 index 0000000..1d294c8 --- /dev/null +++ b/core/include/sys/threads.h @@ -0,0 +1,178 @@ +#pragma once + +/*************************************** + + threads.h + + Multithreading for AVR8 + + yield() must be called with enabled interrupts! (SEI) + + +***************************************/ + + +#include +#include +#include +#include +#include + +#include + +typedef void (*threadstart)(void *arg); + +/* Thread Priorities */ +#define TP_HIGH 0x00 +#define TP_NORMAL 0x01 +#define TP_LOW 0x02 +#define TP_IDLE 0x03 + +// thread flags... +#define THREAD_HALT 0x0001 +#define THREAD_WAIT 0x0002 + +#define THREAD_IDLE 0x0100 +#define THREAD_REMOVE 0x0200 + +struct _hwo_thread +{ + list_t list; // Thread Liste + list_t list_queue; // Priority Liste + list_t list_periodic; // Liste aller periodisch geplanten Threads + + threadstart start; + void* arg; + + union { + uint16_t flags; + struct { + uint16_t halt:1; + uint16_t wait:1; + uint16_t reserve0:6; + uint16_t idle:1; + uint16_t remove:1; + uint16_t periodic_miss:1; + uint16_t warn_stack:1; + uint16_t reserve1:2; + uint16_t priority:2; + }; + }; + + struct { + int size; + + uint8_t *base; + uint8_t *stackpointer; + + int16_t min_free; // Kleinster festgestellter verfügbarer Stackspeicher + } stack; + + struct { + systick_t timeout; // Zeitpunkt um aus tfWAIT zu erwachen... + int32_t periodic; // [us] + int32_t periode; // Periode Counter (periodic..0) + }; + + struct { + int32_t scheduled, + periodic_misses; + sched_time_t + scheduled_time; + } statistic; + +}; +typedef struct _hwo_thread THREAD; +#define THREAD(ptr) ((THREAD*)ptr) +typedef struct _hwo_thread thread_t; +#define thread_t(ptr) ((thread_t*)ptr) + +/* _threading_threads: Global Thread List*/ +extern list_t _threading_threads; +/* _threading_queues: Thread Queues by Priority */ +extern list_t _threading_queues[4]; + +/* _threading_current: Currently active/scheduled Thread */ +extern THREAD* _threading_current; + +#define current_thread() (_threading_current) + + +void schedule_thread(THREAD *thread); // Thread einplanen +void unschedule_thread(THREAD *thread); // Thread aus Planung entfernen + +void st_schedule(void); // SysTick: periodische Threadplaung + + + + + +void ctxswitch(void); // context switcher +uint8_t* ctxsched(uint8_t* oldstack); // scheduler +void ctx_add_thread(THREAD* t); +void ctx_remove_thread(THREAD* t); + +THREAD* thread_alloc(threadstart start,void* arg,uint16_t stacksize); +void thread_starter(void); +int thread_kill(THREAD* t); + +void thread_sleep_irq(THREAD* thread); +void thread_wake(THREAD* thread); + +void thread_set_periodic(THREAD* thread,int32_t us); +void thread_set_priority(THREAD* thread,uint8_t prio); + +void yield(void); + +static inline void thread_sleep(THREAD* thread) +{ + ATOMIC + thread_sleep_irq(thread); + yield(); +}; + +#define avrThread THREAD + +/* @brief Auflösung des Systick Timers */ +extern int32_t _ts_timer_resolution; +/* @brief CPU Takte pro Systick Timer Inkrement */ +extern int32_t _ts_timer_cycles_per_increment; +/* @brief Letzter gemeldeter Zählerstand*/ +extern int32_t _ts_timer_last_counter_value; +/* @brief Systick Timer Inkrmenente / Sekunde */ +extern int32_t _ts_timer_increments_per_second; + +/* @brief Rechenzeit für Systick */ +extern sched_time_t _ts_sys_time, + _ts_irq_time; + +extern int16_t _st_lag_current, + _st_lag_min, + _st_lag_max; + + +#ifndef _st_counter + #define _st_counter() 0 +#endif // _st_counter + +/* @brief retrieve momentary systick counter value +*/ +static inline uint32_t st_current_counter(void){ + int32_t cv = _st_counter(); + if (_ts_timer_last_counter_value > cv){ + cv += _ts_timer_resolution; + }; + _ts_timer_last_counter_value = cv; + return cv; +}; + +static inline void st_reset_last_counter(void){ + _ts_timer_last_counter_value = 0; +}; + +void thread_stat_schedule (sched_time_t *sched_time); +void thread_stat_unschedule (sched_time_t *sched_time); +void thread_stat_systick (sched_time_t *sched_time); + + + diff --git a/core/include/sys/time.h b/core/include/sys/time.h new file mode 100755 index 0000000..d0941bb --- /dev/null +++ b/core/include/sys/time.h @@ -0,0 +1,64 @@ +#pragma once + +#include + +typedef int32_t time_t; + +struct datetime { + uint16_t year; + uint8_t month; // 0..11 + uint8_t day; // 0..30 + uint8_t hour; // 0..23 + uint8_t minute; // 0..59 + uint8_t second; // 0..59 +}; + +typedef struct datetime datetime_t; + +#define UTCH_CHECK 0 +#define UTCH_CHANGING 1 +#define UTCH_CHANGED 2 + + +typedef int (*unix_time_changing_t)(int step,time_t oldtime,time_t newtime); + + +int unix2datetime(time_t unix,datetime_t* datetime); +time_t datetime2unix(datetime_t *datetime); + +void unixtime_set(uint32_t _unixtime); +uint32_t unixtime(void); + +uint32_t seconds_from_midnight(datetime_t *datetime); + +static inline int daysfromyearstart(int month){ + switch (month){ + case 0: + return 0; + case 1: + return 31; + case 2: + return 59; + case 3: + return 90; + case 4: + return 120; + case 5: + return 151; + case 6: + return 181; + case 7: + return 212; + case 8: + return 243; + case 9: + return 273; + case 10: + return 304; + case 11: + return 334; + default: + return 0; + }; +}; + diff --git a/core/include/sys/timer.h b/core/include/sys/timer.h new file mode 100755 index 0000000..cfbe073 --- /dev/null +++ b/core/include/sys/timer.h @@ -0,0 +1,41 @@ +#pragma once + +#include +#include +#include + + +extern list_t sys_timers; + +#define TF_REPEAT (1<<0) + + +struct sys_timer { + list_t list; + + uint32_t id; + systick_t timeout; + systick_t elapse; + + void (*handler)(void); + + union { + uint8_t flags; + struct { + uint8_t repeat:1; + uint8_t res:7; + }; + }; +}; + +typedef struct sys_timer SYSTIMER; +#define SYSTIMER(ptr) ((SYSTIMER*)ptr) + + +SYSTIMER* timer_create(uint32_t id,uint32_t timeout); +SYSTIMER* timer_create_ex(uint32_t id,uint32_t timeout,void (*handler)(void),uint8_t flags); + + +void timer_start(SYSTIMER* timer,uint32_t timeout); +void timer_cancel(SYSTIMER* timer); + diff --git a/core/include/sys/trace.h b/core/include/sys/trace.h new file mode 100644 index 0000000..c08569c --- /dev/null +++ b/core/include/sys/trace.h @@ -0,0 +1,35 @@ +#pragma once + +#include + +uint8_t __trace_get(void) __attribute__((weak)); +void __trace_set(uint8_t state) __attribute__((weak)); + +static inline uint8_t trace_get(void) { + if (__trace_get) + return __trace_get(); + return 0; +}; + +static inline void trace_set(uint8_t state){ + if (__trace_set) + __trace_set(state); +}; + +static inline void trace_on(uint8_t no) { + uint8_t s = trace_get(); + s |= (1< + +typedef int32_t APICALL; + +typedef struct { + int32_t seconds; + int32_t cycles; +} sched_time_t; + diff --git a/core/include/unierror.h b/core/include/unierror.h new file mode 100755 index 0000000..359424e --- /dev/null +++ b/core/include/unierror.h @@ -0,0 +1,71 @@ +#pragma once + +/* + * unierror.h + * + * Universelle sprechende Fehlercodes + * + * + * +*/ +#include + +/* Definition des 32Bit Fehlermodell */ +union _ue_code { + int32_t code32; + struct { + union { + uint16_t code16; + struct { + uint32_t code15:15; // Fehlercode + uint32_t knowncode:1; // 1=Definierter Standardfehlercode, 0=Benutzerdefinierter Fehlercode + }; + }; + uint32_t locator:9; // Lokalisation der Ursache + uint32_t location:3; // Art der Lokalisationsangabe + + uint32_t family:4; // Error Family + }; +}; +typedef union _ue_code UECODE; + +#define UNIERROR(fam,loc,loc2,k,c15) ((UECODE){family: fam, location: loc, locator: loc2, knowncode: k, code15: c15}) + + +/* Fehlerfamilien */ +#define UEF_NONE 0x00 // Keine bekannte Familie +#define UEF_ELECTRICAL 0x01 // Elektrischer Fehler +#define UEF_MECHANICAL 0x02 // Mechanischer Fehler +#define UEF_LOGICAL 0x03 // Logischer Fehler +#define UEF_SOFTWARE 0x04 // Software Fehler (z.B. Prüfsummenfehler, Crash, etc.) +#define UEF_API 0x05 // API Fehlercode (E...) + +#define UEF_WARNING 0x08 // Fehler ist nicht Fatal, Fehler beschreibt eine Warnung, Es wurde keine Fehlerreaktion ausgeführt + +/* Fehler Locationcodes */ +#define UEL_UNKNOWN 0x00 // unbekannter Auslöser +#define UEL_INTERNAL 0x01 // der Fehler wurde in Software ausgelöst (z.B. Exception, Prüfsummencheck) +#define UEL_ASSEMBLY 0x02 // der Fehler wurde durch eine Komponente innerhalb der Baugruppe/Elektronik ausgelöst +#define UEL_EXTERNAL 0x03 // der Fehler wurde von Aussen ausgelöst (Sensor, Signal) + +/* Fehlercodes der Familie UEF_ELECTRICAL */ +#define UE_SHORT_GROUND 0x0001 // Kurzschluss nach Masse +#define UE_SHORT_VPLUS 0x0002 // Kurzschluss zu V+ + +#define UE_LIMIT_LOW 0x0010 // Grenzwertunterschreitung nach "unten" +#define UE_LIMIT_HIGH 0x0011 // Grenzwertüberschreitung nach "oben" + +/* Fehlercodes der Familie UEF_MECHANICAL */ +#define UE_BLOCKED 0x0001 // Bewegliches Teil ist mechanisch blockiert +#define UE_FRICTION 0x0002 // Erhöhter (Reibungs-)widerstand wurde festgestellt + +#define UE_CONNECTION_LOST 0x0010 // Mechanische Verbindung ist gelöst +#define UE_BODY_OPEN 0x0011 // Gehäuse ist offen / nicht betriebsicher geschlossen + +/* Fehlercodes der Familie UEF_LOGICAL */ +#define UE_TIMEOUT 0x0001 // Maximale Wartezeit wurde überschritten +#define UE_PLAUSIBILITY 0x0002 // Signale / Eingabewerte sind nicht plausibel bzw. sind widersprüchlich + +/* Fehlercodes der Familie UEF_SOFTWARE */ +#define UE_CHECKSUM 0x0001 // Prüfsummenfehler + diff --git a/core/include/util/fifo.h b/core/include/util/fifo.h new file mode 100644 index 0000000..2308aef --- /dev/null +++ b/core/include/util/fifo.h @@ -0,0 +1,97 @@ +#pragma once + +#include +#include +#include + +typedef struct { + uint8_t set, + get; + + uint8_t b[32]; +} fifo32_t; + +typedef struct { + uint8_t set, + get; + + uint8_t b[64]; +} fifo64_t; + +/** + * @brief 32byte FIFOs + * @param fifo + * @return + */ +static inline int f32_reset(fifo32_t *fifo){ + memset( fifo, 0x00, sizeof(fifo32_t) ); + return ESUCCESS; +}; + +static inline int f32_read(fifo32_t *fifo){ + int r; + + if (fifo->get == fifo->set){ + return -ENOFILE; + }; + + r = fifo->b[fifo->get]; + + fifo->get ++; + fifo->get &= 0x1F; + + return r; +}; + +static inline int f32_write(fifo32_t *fifo,int ch){ + + if ( ((fifo->set + 1) & 0x1F) == fifo->get ){ + return -ENOFILE; + }; + + fifo->b[fifo->set] = (uint8_t)(ch & 0xFF); + + fifo->set++; + fifo->set &= 0x1F; + + return ESUCCESS; +}; + +/** + * @brief 64 Byte FIFOs + * @param fifo + * @return + */ +static inline int f64_reset(fifo64_t *fifo){ + memset( fifo, 0x00, sizeof(fifo64_t) ); + return ESUCCESS; +}; + +static inline int f64_read(fifo64_t *fifo){ + int r; + + if (fifo->get == fifo->set){ + return -ENOFILE; + }; + + r = fifo->b[fifo->get]; + + fifo->get ++; + fifo->get &= 0x3F; + + return r; +}; + +static inline int f64_write(fifo64_t *fifo,int ch){ + + if ( ((fifo->set + 1) & 0x3F) == fifo->get ){ + return -ENOFILE; + }; + + fifo->b[fifo->set] = (uint8_t)(ch & 0xFF); + + fifo->set++; + fifo->set &= 0x3F; + + return ESUCCESS; +}; diff --git a/core/include/util/list.h b/core/include/util/list.h new file mode 100755 index 0000000..7334876 --- /dev/null +++ b/core/include/util/list.h @@ -0,0 +1,102 @@ +#pragma once +/** + * util/list.h + * + * Double Linked Lists for C + * + * (c) 2016 Harald Christian Joachim Wolff + * + * API (may be implemented with macros!) : + * + * + */ + + typedef struct _list { + struct _list *next, + *prev; + } list_t; + +#define LIST_INIT_STATIC(name) { &(name), &(name) } + +#define LIST(name) list_t name = LIST_INIT_STATIC(name) + +static inline void __list_init(list_t *list){ + list->next = list->prev = list; +} + +#define list_init(L) __list_init(L); + +static inline void __list_add(list_t *item,list_t *prev,list_t *next) { + prev->next = item; + next->prev = item; + item->next = next; + item->prev = prev; +}; + +static inline void list_remove(list_t *item){ + item->prev->next = item->next; + item->next->prev = item->prev; + item->prev = item->next = item; +}; + +static inline void list_append(list_t* item,list_t* head){ + __list_add(item,head->prev,head); +}; + +static inline void list_insert(list_t* item,list_t* head){ + __list_add(item,head,head->next); +}; + +static inline list_t* list_next(list_t* item){ return item->next; }; +static inline list_t* list_prev(list_t* item){ return item->prev; }; + +static inline int list_is_empty(list_t *list) { + return (list->next == list); +}; + +static inline list_t* list_get(list_t *head,int n){ + if (list_is_empty(head)){ + return 0L; + }; + while (n--){ + head = head->next; + }; + return head; +}; +static inline list_t* list_fetch_first(list_t *head){ + if (!list_is_empty(head)){ + list_t *f = head->next; + list_remove(f); + return f; + } else { + return 0L; + }; +}; + +/** + * list_entry - get container struct of entry + * @P: Pointer to entry + * @T: Type of struct + * @M: entry member of struct +*/ +#define list_entry(P,T,M) ((T*)(int)(((int)(P)) - (int)(&(((T*)0L)->M)))) + +#define list_next_entry(P,T,M) list_entry((P)->next,T,M) +#define list_prev_entry(P,T,M) list_entry((P)->prev,T,M) + +#define list_first_entry(P,T,M) ((P)->next != (P) ? list_entry((P)->next,T,M) : NULL) +#define list_last_entry(P,T,M) ((P)->prev != (P) ? list_entry((P)->prev,T,M) : NULL) + +#define for_each_list_entry(pos,list) for (pos = (list)->next; pos != (list); pos = pos->next) +#define for_each_list_entry_reverse(pos,list) for (pos = (list)->prev; pos != (list); pos = pos->prev) + +#define for_each_list_entry_save(pos,tmp,list) for (pos = (list)->next, tmp = pos->next; pos != (list); pos = tmp, tmp = pos->next) + +static inline int list_count(list_t *head){ + list_t *t; + int n = 0; + for_each_list_entry(t,head){ + n++; + }; + return n; +}; diff --git a/core/include/util/util.h b/core/include/util/util.h new file mode 100644 index 0000000..7f4eee1 --- /dev/null +++ b/core/include/util/util.h @@ -0,0 +1,39 @@ +#pragma once + +#include +#include + +#include + +typedef struct { + uint16_t size; + uint16_t pos; + uint8_t *buffer; +} buffer_t; + +static inline int buffer_set(buffer_t *buffer,void *mem,int size){ + if (buffer){ + ATOMIC + + buffer->buffer = mem; + buffer->pos = 0; + buffer->size = size; + return ESUCCESS; + }; + return -ENULLPTR; +}; + +static inline int buffer_pos(buffer_t *buffer){ + ATOMIC + + return (buffer) ? buffer->pos : -ENULLPTR; +}; + +static inline int buffer_free(buffer_t *buffer){ + ATOMIC + + return (buffer) ? (buffer->size - buffer->pos) : -ENULLPTR; +}; + +#define buffer_byte(b) ((b)->buffer[(b)->pos++]) + diff --git a/core/src/.access_authorize.c.dep b/core/src/.access_authorize.c.dep new file mode 100644 index 0000000..692b2f5 --- /dev/null +++ b/core/src/.access_authorize.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/access_authorize.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/access_authorize.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/access.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/bits.h diff --git a/core/src/.adc_avr.c.dep b/core/src/.adc_avr.c.dep new file mode 100644 index 0000000..dcafb99 --- /dev/null +++ b/core/src/.adc_avr.c.dep @@ -0,0 +1,38 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/adc_avr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/adc_avr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h diff --git a/core/src/.adc_cpu.c.dep b/core/src/.adc_cpu.c.dep new file mode 100644 index 0000000..b8aa633 --- /dev/null +++ b/core/src/.adc_cpu.c.dep @@ -0,0 +1,39 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/adc_cpu.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/adc_cpu.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/bits.h diff --git a/core/src/.adc_register_proc.c.dep b/core/src/.adc_register_proc.c.dep new file mode 100644 index 0000000..49a88f1 --- /dev/null +++ b/core/src/.adc_register_proc.c.dep @@ -0,0 +1,44 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/adc_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/adc_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.assert.c.dep b/core/src/.assert.c.dep new file mode 100644 index 0000000..8d6b0c5 --- /dev/null +++ b/core/src/.assert.c.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/assert.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/assert.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/core/src/.bootloader.c.dep b/core/src/.bootloader.c.dep new file mode 100644 index 0000000..f4eeef5 --- /dev/null +++ b/core/src/.bootloader.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/bootloader.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/bootloader.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/bootloader.h diff --git a/core/src/.chksum.c.dep b/core/src/.chksum.c.dep new file mode 100644 index 0000000..83f3475 --- /dev/null +++ b/core/src/.chksum.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/chksum.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/chksum.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.crc8.c.dep b/core/src/.crc8.c.dep new file mode 100644 index 0000000..6145196 --- /dev/null +++ b/core/src/.crc8.c.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/crc8.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/crc8.c diff --git a/core/src/.ctxsched.c.dep b/core/src/.ctxsched.c.dep new file mode 100644 index 0000000..73d7adc --- /dev/null +++ b/core/src/.ctxsched.c.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/ctxsched.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/ctxsched.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.datetime2unix.c.dep b/core/src/.datetime2unix.c.dep new file mode 100644 index 0000000..7c215c8 --- /dev/null +++ b/core/src/.datetime2unix.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/datetime2unix.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/datetime2unix.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/core/src/.dbg_var.c.dep b/core/src/.dbg_var.c.dep new file mode 100644 index 0000000..c04df18 --- /dev/null +++ b/core/src/.dbg_var.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/dbg_var.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/dbg_var.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.debug.c.dep b/core/src/.debug.c.dep new file mode 100644 index 0000000..724d6d9 --- /dev/null +++ b/core/src/.debug.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/debug.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/debug.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/debug.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.dev_null.c.dep b/core/src/.dev_null.c.dep new file mode 100644 index 0000000..9355576 --- /dev/null +++ b/core/src/.dev_null.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/dev_null.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/dev_null.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.dev_null_avr.c.dep b/core/src/.dev_null_avr.c.dep new file mode 100644 index 0000000..2e34ffb --- /dev/null +++ b/core/src/.dev_null_avr.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/dev_null_avr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/dev_null_avr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.eeprom.c.dep b/core/src/.eeprom.c.dep new file mode 100644 index 0000000..74f3dc1 --- /dev/null +++ b/core/src/.eeprom.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/eeprom.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/eeprom.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.eeprom_load.c.dep b/core/src/.eeprom_load.c.dep new file mode 100644 index 0000000..40f49da --- /dev/null +++ b/core/src/.eeprom_load.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/eeprom_load.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/eeprom_load.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.eeprom_save.c.dep b/core/src/.eeprom_save.c.dep new file mode 100644 index 0000000..4510f30 --- /dev/null +++ b/core/src/.eeprom_save.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/eeprom_save.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/eeprom_save.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.event_append.c.dep b/core/src/.event_append.c.dep new file mode 100644 index 0000000..9dfa3a9 --- /dev/null +++ b/core/src/.event_append.c.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/event_append.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_append.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.event_cleanup.c.dep b/core/src/.event_cleanup.c.dep new file mode 100644 index 0000000..6c844e1 --- /dev/null +++ b/core/src/.event_cleanup.c.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/event_cleanup.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_cleanup.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.event_pull.c.dep b/core/src/.event_pull.c.dep new file mode 100644 index 0000000..46222f7 --- /dev/null +++ b/core/src/.event_pull.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/event_pull.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_pull.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h diff --git a/core/src/.event_push.c.dep b/core/src/.event_push.c.dep new file mode 100644 index 0000000..023ace3 --- /dev/null +++ b/core/src/.event_push.c.dep @@ -0,0 +1,22 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/event_push.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_push.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.event_wait.c.dep b/core/src/.event_wait.c.dep new file mode 100644 index 0000000..af4f9d7 --- /dev/null +++ b/core/src/.event_wait.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/event_wait.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_wait.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h diff --git a/core/src/.f_cpu.c.dep b/core/src/.f_cpu.c.dep new file mode 100644 index 0000000..50a3897 --- /dev/null +++ b/core/src/.f_cpu.c.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/f_cpu.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/f_cpu.c diff --git a/core/src/.fdev_create.c.dep b/core/src/.fdev_create.c.dep new file mode 100644 index 0000000..865fc09 --- /dev/null +++ b/core/src/.fdev_create.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fdev_create.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fdev_create.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.fdev_notify.c.dep b/core/src/.fdev_notify.c.dep new file mode 100644 index 0000000..aa87c28 --- /dev/null +++ b/core/src/.fdev_notify.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fdev_notify.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fdev_notify.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.fdevopen_ts.c.dep b/core/src/.fdevopen_ts.c.dep new file mode 100644 index 0000000..79c6d84 --- /dev/null +++ b/core/src/.fdevopen_ts.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fdevopen_ts.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fdevopen_ts.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.fifo.c.dep b/core/src/.fifo.c.dep new file mode 100644 index 0000000..a3bcb8f --- /dev/null +++ b/core/src/.fifo.c.dep @@ -0,0 +1,8 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.fifo_alloc.c.dep b/core/src/.fifo_alloc.c.dep new file mode 100644 index 0000000..7fcf08d --- /dev/null +++ b/core/src/.fifo_alloc.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_alloc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_alloc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fifo_avail.c.dep b/core/src/.fifo_avail.c.dep new file mode 100644 index 0000000..b95cbe1 --- /dev/null +++ b/core/src/.fifo_avail.c.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_avail.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_avail.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.fifo_free.c.dep b/core/src/.fifo_free.c.dep new file mode 100644 index 0000000..40d5c41 --- /dev/null +++ b/core/src/.fifo_free.c.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_free.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_free.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.fifo_options.c.dep b/core/src/.fifo_options.c.dep new file mode 100644 index 0000000..90e440a --- /dev/null +++ b/core/src/.fifo_options.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_options.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_options.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fifo_poll.c.dep b/core/src/.fifo_poll.c.dep new file mode 100644 index 0000000..17bb1f5 --- /dev/null +++ b/core/src/.fifo_poll.c.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_poll.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_poll.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.fifo_read.c.dep b/core/src/.fifo_read.c.dep new file mode 100644 index 0000000..f7c516c --- /dev/null +++ b/core/src/.fifo_read.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_read.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_read.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fifo_read_block.c.dep b/core/src/.fifo_read_block.c.dep new file mode 100644 index 0000000..a87e4a2 --- /dev/null +++ b/core/src/.fifo_read_block.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_read_block.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_read_block.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fifo_set_blocking.c.dep b/core/src/.fifo_set_blocking.c.dep new file mode 100644 index 0000000..a443208 --- /dev/null +++ b/core/src/.fifo_set_blocking.c.dep @@ -0,0 +1,8 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_set_blocking.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_set_blocking.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.fifo_set_timeout.c.dep b/core/src/.fifo_set_timeout.c.dep new file mode 100644 index 0000000..7da2ed5 --- /dev/null +++ b/core/src/.fifo_set_timeout.c.dep @@ -0,0 +1,8 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_set_timeout.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_set_timeout.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.fifo_write.c.dep b/core/src/.fifo_write.c.dep new file mode 100644 index 0000000..6602737 --- /dev/null +++ b/core/src/.fifo_write.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fifo_write.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_write.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fixpoint.c.dep b/core/src/.fixpoint.c.dep new file mode 100644 index 0000000..ac20c18 --- /dev/null +++ b/core/src/.fixpoint.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fixpoint.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fixpoint.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.fp1616_smoother.c.dep b/core/src/.fp1616_smoother.c.dep new file mode 100644 index 0000000..28dc586 --- /dev/null +++ b/core/src/.fp1616_smoother.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp1616_smoother.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp1616_smoother.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp1616.h diff --git a/core/src/.fp4816_from_float.c.dep b/core/src/.fp4816_from_float.c.dep new file mode 100644 index 0000000..345a82e --- /dev/null +++ b/core/src/.fp4816_from_float.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_from_float.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_from_float.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_pid.c.dep b/core/src/.fp4816_pid.c.dep new file mode 100644 index 0000000..e9a652d --- /dev/null +++ b/core/src/.fp4816_pid.c.dep @@ -0,0 +1,9 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_pid.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_pid.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fixpoint.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp1616.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/pid.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.fp4816_pow.c.dep b/core/src/.fp4816_pow.c.dep new file mode 100644 index 0000000..d81552a --- /dev/null +++ b/core/src/.fp4816_pow.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_pow.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_pow.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_sincos_slow.c.dep b/core/src/.fp4816_sincos_slow.c.dep new file mode 100644 index 0000000..9264235 --- /dev/null +++ b/core/src/.fp4816_sincos_slow.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_sincos_slow.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_sincos_slow.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_smoother.c.dep b/core/src/.fp4816_smoother.c.dep new file mode 100644 index 0000000..d19146a --- /dev/null +++ b/core/src/.fp4816_smoother.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_smoother.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_smoother.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_taylor.c.dep b/core/src/.fp4816_taylor.c.dep new file mode 100644 index 0000000..e155f62 --- /dev/null +++ b/core/src/.fp4816_taylor.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_taylor.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_taylor.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_taylor_element.c.dep b/core/src/.fp4816_taylor_element.c.dep new file mode 100644 index 0000000..f59d4ed --- /dev/null +++ b/core/src/.fp4816_taylor_element.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_taylor_element.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_taylor_element.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.fp4816_to_a.c.dep b/core/src/.fp4816_to_a.c.dep new file mode 100644 index 0000000..64d556d --- /dev/null +++ b/core/src/.fp4816_to_a.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_to_a.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_to_a.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp4816_to_float.c.dep b/core/src/.fp4816_to_float.c.dep new file mode 100644 index 0000000..ede861d --- /dev/null +++ b/core/src/.fp4816_to_float.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp4816_to_float.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_to_float.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/core/src/.fp_acos.c.dep b/core/src/.fp_acos.c.dep new file mode 100644 index 0000000..21435a9 --- /dev/null +++ b/core/src/.fp_acos.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp_acos.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_acos.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.fp_asin.c.dep b/core/src/.fp_asin.c.dep new file mode 100644 index 0000000..f240aad --- /dev/null +++ b/core/src/.fp_asin.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp_asin.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_asin.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.fp_normalize_arc.c.dep b/core/src/.fp_normalize_arc.c.dep new file mode 100644 index 0000000..07d0cde --- /dev/null +++ b/core/src/.fp_normalize_arc.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp_normalize_arc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_normalize_arc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.fp_sin.c.dep b/core/src/.fp_sin.c.dep new file mode 100644 index 0000000..583f45f --- /dev/null +++ b/core/src/.fp_sin.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp_sin.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_sin.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.fp_sin_lookup.c.dep b/core/src/.fp_sin_lookup.c.dep new file mode 100644 index 0000000..3d88592 --- /dev/null +++ b/core/src/.fp_sin_lookup.c.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/fp_sin_lookup.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_sin_lookup.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/core/src/.free_ts.c.dep b/core/src/.free_ts.c.dep new file mode 100644 index 0000000..c456eb3 --- /dev/null +++ b/core/src/.free_ts.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/free_ts.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/free_ts.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h diff --git a/core/src/.get_csr.c.dep b/core/src/.get_csr.c.dep new file mode 100644 index 0000000..e26626d --- /dev/null +++ b/core/src/.get_csr.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/get_csr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/get_csr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.get_csr_buffer.c.dep b/core/src/.get_csr_buffer.c.dep new file mode 100644 index 0000000..e8c2012 --- /dev/null +++ b/core/src/.get_csr_buffer.c.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/get_csr_buffer.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/get_csr_buffer.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.i2c.c.dep b/core/src/.i2c.c.dep new file mode 100644 index 0000000..4cf8ad4 --- /dev/null +++ b/core/src/.i2c.c.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2c.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2c.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/i2c.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.i2cee_define_file.c.dep b/core/src/.i2cee_define_file.c.dep new file mode 100644 index 0000000..5287d1c --- /dev/null +++ b/core/src/.i2cee_define_file.c.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2cee_define_file.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_define_file.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/fastfile.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.i2cee_identify.c.dep b/core/src/.i2cee_identify.c.dep new file mode 100644 index 0000000..6718540 --- /dev/null +++ b/core/src/.i2cee_identify.c.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2cee_identify.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_identify.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/i2c.h diff --git a/core/src/.i2cee_load.c.dep b/core/src/.i2cee_load.c.dep new file mode 100644 index 0000000..11f9ab8 --- /dev/null +++ b/core/src/.i2cee_load.c.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2cee_load.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_load.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/i2c.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.i2cee_save.c.dep b/core/src/.i2cee_save.c.dep new file mode 100644 index 0000000..34907dd --- /dev/null +++ b/core/src/.i2cee_save.c.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2cee_save.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_save.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/i2c.h diff --git a/core/src/.i2cee_size.c.dep b/core/src/.i2cee_size.c.dep new file mode 100644 index 0000000..be5b6d7 --- /dev/null +++ b/core/src/.i2cee_size.c.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2cee_size.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_size.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.i2ceeprom.c.dep b/core/src/.i2ceeprom.c.dep new file mode 100644 index 0000000..3ce06ed --- /dev/null +++ b/core/src/.i2ceeprom.c.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/i2ceeprom.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2ceeprom.c diff --git a/core/src/.ifact.c.dep b/core/src/.ifact.c.dep new file mode 100644 index 0000000..dfffc91 --- /dev/null +++ b/core/src/.ifact.c.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/ifact.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/ifact.c diff --git a/core/src/.log_csr.c.dep b/core/src/.log_csr.c.dep new file mode 100644 index 0000000..656f9fd --- /dev/null +++ b/core/src/.log_csr.c.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/log_csr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/log_csr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.malloc_ts.c.dep b/core/src/.malloc_ts.c.dep new file mode 100644 index 0000000..133d687 --- /dev/null +++ b/core/src/.malloc_ts.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/malloc_ts.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/malloc_ts.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h diff --git a/core/src/.mutex_lock.c.dep b/core/src/.mutex_lock.c.dep new file mode 100644 index 0000000..2c10c1b --- /dev/null +++ b/core/src/.mutex_lock.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/mutex_lock.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_lock.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.mutex_lock_indirect.c.dep b/core/src/.mutex_lock_indirect.c.dep new file mode 100644 index 0000000..98b4a07 --- /dev/null +++ b/core/src/.mutex_lock_indirect.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/mutex_lock_indirect.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_lock_indirect.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.mutex_release.c.dep b/core/src/.mutex_release.c.dep new file mode 100644 index 0000000..730cbb9 --- /dev/null +++ b/core/src/.mutex_release.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/mutex_release.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_release.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.mutex_release_indirect.c.dep b/core/src/.mutex_release_indirect.c.dep new file mode 100644 index 0000000..78d2b3a --- /dev/null +++ b/core/src/.mutex_release_indirect.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/mutex_release_indirect.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_release_indirect.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.mutex_try_lock.c.dep b/core/src/.mutex_try_lock.c.dep new file mode 100644 index 0000000..b195b95 --- /dev/null +++ b/core/src/.mutex_try_lock.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/mutex_try_lock.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_try_lock.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.outputs.c.dep b/core/src/.outputs.c.dep new file mode 100644 index 0000000..3d021a7 --- /dev/null +++ b/core/src/.outputs.c.dep @@ -0,0 +1,41 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/outputs.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/outputs.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/outputs.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h diff --git a/core/src/.pipe.c.dep b/core/src/.pipe.c.dep new file mode 100644 index 0000000..7f26019 --- /dev/null +++ b/core/src/.pipe.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/pipe.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.pipe_clear.c.dep b/core/src/.pipe_clear.c.dep new file mode 100644 index 0000000..3fbec08 --- /dev/null +++ b/core/src/.pipe_clear.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/pipe_clear.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_clear.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.pipe_empty.c.dep b/core/src/.pipe_empty.c.dep new file mode 100644 index 0000000..5622841 --- /dev/null +++ b/core/src/.pipe_empty.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/pipe_empty.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_empty.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.pipe_full.c.dep b/core/src/.pipe_full.c.dep new file mode 100644 index 0000000..642842d --- /dev/null +++ b/core/src/.pipe_full.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/pipe_full.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_full.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.pipe_options.c.dep b/core/src/.pipe_options.c.dep new file mode 100644 index 0000000..593760a --- /dev/null +++ b/core/src/.pipe_options.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/pipe_options.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_options.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.rb2_api_rx.c.dep b/core/src/.rb2_api_rx.c.dep new file mode 100644 index 0000000..3ca70df --- /dev/null +++ b/core/src/.rb2_api_rx.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_api_rx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_api_rx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_clean_pending.c.dep b/core/src/.rb2_clean_pending.c.dep new file mode 100644 index 0000000..00d5983 --- /dev/null +++ b/core/src/.rb2_clean_pending.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_clean_pending.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_clean_pending.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_convert.c.dep b/core/src/.rb2_convert.c.dep new file mode 100644 index 0000000..10f2b65 --- /dev/null +++ b/core/src/.rb2_convert.c.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_convert.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_convert.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fixpoint.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp1616.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/pid.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/bits.h diff --git a/core/src/.rb2_create_usart_link.c.dep b/core/src/.rb2_create_usart_link.c.dep new file mode 100644 index 0000000..c2cd356 --- /dev/null +++ b/core/src/.rb2_create_usart_link.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_create_usart_link.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_create_usart_link.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_default_register_proc.c.dep b/core/src/.rb2_default_register_proc.c.dep new file mode 100644 index 0000000..ade1fc7 --- /dev/null +++ b/core/src/.rb2_default_register_proc.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_default_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_default_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_handle_request.c.dep b/core/src/.rb2_handle_request.c.dep new file mode 100644 index 0000000..3d41be4 --- /dev/null +++ b/core/src/.rb2_handle_request.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_handle_request.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_handle_request.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_handle_response.c.dep b/core/src/.rb2_handle_response.c.dep new file mode 100644 index 0000000..3fb9340 --- /dev/null +++ b/core/src/.rb2_handle_response.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_handle_response.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_handle_response.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_init.c.dep b/core/src/.rb2_init.c.dep new file mode 100644 index 0000000..b0fa804 --- /dev/null +++ b/core/src/.rb2_init.c.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_init.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_init.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_known_endpoints.c.dep b/core/src/.rb2_known_endpoints.c.dep new file mode 100644 index 0000000..512ab98 --- /dev/null +++ b/core/src/.rb2_known_endpoints.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_known_endpoints.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_known_endpoints.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_loop_ident.c.dep b/core/src/.rb2_loop_ident.c.dep new file mode 100644 index 0000000..8399aad --- /dev/null +++ b/core/src/.rb2_loop_ident.c.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_loop_ident.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_loop_ident.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.rb2_loop_rx.c.dep b/core/src/.rb2_loop_rx.c.dep new file mode 100644 index 0000000..f02c7b3 --- /dev/null +++ b/core/src/.rb2_loop_rx.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_loop_rx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_loop_rx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_loop_tx.c.dep b/core/src/.rb2_loop_tx.c.dep new file mode 100644 index 0000000..16e9e4a --- /dev/null +++ b/core/src/.rb2_loop_tx.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_loop_tx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_loop_tx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_pool.c.dep b/core/src/.rb2_pool.c.dep new file mode 100644 index 0000000..557b67c --- /dev/null +++ b/core/src/.rb2_pool.c.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_pool.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_pool.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rb2_request.c.dep b/core/src/.rb2_request.c.dep new file mode 100644 index 0000000..5548827 --- /dev/null +++ b/core/src/.rb2_request.c.dep @@ -0,0 +1,38 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_request.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_request.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/core/src/.rb2_router.c.dep b/core/src/.rb2_router.c.dep new file mode 100644 index 0000000..204857f --- /dev/null +++ b/core/src/.rb2_router.c.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rb2_router.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_router.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/core/src/.rt_authenticate.c.dep b/core/src/.rt_authenticate.c.dep new file mode 100644 index 0000000..e7c837b --- /dev/null +++ b/core/src/.rt_authenticate.c.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/rt_authenticate.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rt_authenticate.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/bits.h diff --git a/core/src/.runtime.c.dep b/core/src/.runtime.c.dep new file mode 100644 index 0000000..11fe2a0 --- /dev/null +++ b/core/src/.runtime.c.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/runtime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h diff --git a/core/src/.runtime_register_proc.c.dep b/core/src/.runtime_register_proc.c.dep new file mode 100644 index 0000000..14623da --- /dev/null +++ b/core/src/.runtime_register_proc.c.dep @@ -0,0 +1,47 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/runtime_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/outputs.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h diff --git a/core/src/.runtime_set_running.c.dep b/core/src/.runtime_set_running.c.dep new file mode 100644 index 0000000..28b1842 --- /dev/null +++ b/core/src/.runtime_set_running.c.dep @@ -0,0 +1,41 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/runtime_set_running.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime_set_running.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/core/src/.seconds_from_midnight.c.dep b/core/src/.seconds_from_midnight.c.dep new file mode 100644 index 0000000..14f663e --- /dev/null +++ b/core/src/.seconds_from_midnight.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/seconds_from_midnight.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/seconds_from_midnight.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.smooth.c.dep b/core/src/.smooth.c.dep new file mode 100644 index 0000000..4234794 --- /dev/null +++ b/core/src/.smooth.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/smooth.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/smooth.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.spi_driver.c.dep b/core/src/.spi_driver.c.dep new file mode 100644 index 0000000..9ac0371 --- /dev/null +++ b/core/src/.spi_driver.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/spi_driver.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/spi_driver.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spi.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.spinlock.c.dep b/core/src/.spinlock.c.dep new file mode 100644 index 0000000..1f8fe3a --- /dev/null +++ b/core/src/.spinlock.c.dep @@ -0,0 +1,11 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/spinlock.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/spinlock.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h diff --git a/core/src/.sprintf.c.dep b/core/src/.sprintf.c.dep new file mode 100644 index 0000000..af37a56 --- /dev/null +++ b/core/src/.sprintf.c.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/sprintf.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/sprintf.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.systick.c.dep b/core/src/.systick.c.dep new file mode 100644 index 0000000..9ccda19 --- /dev/null +++ b/core/src/.systick.c.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h diff --git a/core/src/.systick_secs.c.dep b/core/src/.systick_secs.c.dep new file mode 100644 index 0000000..555d409 --- /dev/null +++ b/core/src/.systick_secs.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick_secs.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_secs.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.systick_set_handler.c.dep b/core/src/.systick_set_handler.c.dep new file mode 100644 index 0000000..6ba42c4 --- /dev/null +++ b/core/src/.systick_set_handler.c.dep @@ -0,0 +1,11 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick_set_handler.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_set_handler.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.systick_set_handler_sec.c.dep b/core/src/.systick_set_handler_sec.c.dep new file mode 100644 index 0000000..ccaa71d --- /dev/null +++ b/core/src/.systick_set_handler_sec.c.dep @@ -0,0 +1,11 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick_set_handler_sec.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_set_handler_sec.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/core/src/.systick_set_us.c.dep b/core/src/.systick_set_us.c.dep new file mode 100644 index 0000000..07c884b --- /dev/null +++ b/core/src/.systick_set_us.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick_set_us.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_set_us.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.systick_ticks.c.dep b/core/src/.systick_ticks.c.dep new file mode 100644 index 0000000..049c92e --- /dev/null +++ b/core/src/.systick_ticks.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/systick_ticks.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_ticks.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.thread_alloc.c.dep b/core/src/.thread_alloc.c.dep new file mode 100644 index 0000000..1a42945 --- /dev/null +++ b/core/src/.thread_alloc.c.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_alloc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_alloc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.thread_kill.c.dep b/core/src/.thread_kill.c.dep new file mode 100644 index 0000000..7a4957c --- /dev/null +++ b/core/src/.thread_kill.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_kill.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_kill.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_set_periodic.c.dep b/core/src/.thread_set_periodic.c.dep new file mode 100644 index 0000000..ba27631 --- /dev/null +++ b/core/src/.thread_set_periodic.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_set_periodic.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_set_periodic.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_set_priority.c.dep b/core/src/.thread_set_priority.c.dep new file mode 100644 index 0000000..d5834d2 --- /dev/null +++ b/core/src/.thread_set_priority.c.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_set_priority.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_set_priority.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_sleep_irq.c.dep b/core/src/.thread_sleep_irq.c.dep new file mode 100644 index 0000000..3f7c9cd --- /dev/null +++ b/core/src/.thread_sleep_irq.c.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_sleep_irq.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_sleep_irq.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_starter.c.dep b/core/src/.thread_starter.c.dep new file mode 100644 index 0000000..ed0e052 --- /dev/null +++ b/core/src/.thread_starter.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_starter.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_starter.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_stat.c.dep b/core/src/.thread_stat.c.dep new file mode 100644 index 0000000..006ea29 --- /dev/null +++ b/core/src/.thread_stat.c.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_stat.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_stat.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.thread_wake.c.dep b/core/src/.thread_wake.c.dep new file mode 100644 index 0000000..4eb6059 --- /dev/null +++ b/core/src/.thread_wake.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/thread_wake.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_wake.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.timer_cancel.c.dep b/core/src/.timer_cancel.c.dep new file mode 100644 index 0000000..993b555 --- /dev/null +++ b/core/src/.timer_cancel.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/timer_cancel.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_cancel.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.timer_create.c.dep b/core/src/.timer_create.c.dep new file mode 100644 index 0000000..287f0ae --- /dev/null +++ b/core/src/.timer_create.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/timer_create.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_create.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.timer_create_ex.c.dep b/core/src/.timer_create_ex.c.dep new file mode 100644 index 0000000..bf678af --- /dev/null +++ b/core/src/.timer_create_ex.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/timer_create_ex.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_create_ex.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.timer_start.c.dep b/core/src/.timer_start.c.dep new file mode 100644 index 0000000..c980138 --- /dev/null +++ b/core/src/.timer_start.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/timer_start.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_start.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.unix2datetime.c.dep b/core/src/.unix2datetime.c.dep new file mode 100644 index 0000000..2616a3e --- /dev/null +++ b/core/src/.unix2datetime.c.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/unix2datetime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/unix2datetime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/core/src/.unixtime.c.dep b/core/src/.unixtime.c.dep new file mode 100644 index 0000000..c0a2331 --- /dev/null +++ b/core/src/.unixtime.c.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/unixtime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/unixtime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h diff --git a/core/src/.usart.c.dep b/core/src/.usart.c.dep new file mode 100644 index 0000000..dd7f531 --- /dev/null +++ b/core/src/.usart.c.dep @@ -0,0 +1,22 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/usart.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.usart_configure.c.dep b/core/src/.usart_configure.c.dep new file mode 100644 index 0000000..6672a4d --- /dev/null +++ b/core/src/.usart_configure.c.dep @@ -0,0 +1,22 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/usart_configure.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart_configure.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/core/src/.usart_head.c.dep b/core/src/.usart_head.c.dep new file mode 100644 index 0000000..92f8daf --- /dev/null +++ b/core/src/.usart_head.c.dep @@ -0,0 +1,23 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/usart_head.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart_head.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.usart_options.c.dep b/core/src/.usart_options.c.dep new file mode 100644 index 0000000..5877b0d --- /dev/null +++ b/core/src/.usart_options.c.dep @@ -0,0 +1,23 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/usart_options.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart_options.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/core/src/.wait_async_set.c.dep b/core/src/.wait_async_set.c.dep new file mode 100644 index 0000000..11619a6 --- /dev/null +++ b/core/src/.wait_async_set.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/wait_async_set.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wait_async_set.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.wait_async_test.c.dep b/core/src/.wait_async_test.c.dep new file mode 100644 index 0000000..8e3615f --- /dev/null +++ b/core/src/.wait_async_test.c.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/wait_async_test.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wait_async_test.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/core/src/.wait_ms.c.dep b/core/src/.wait_ms.c.dep new file mode 100644 index 0000000..e6afe90 --- /dev/null +++ b/core/src/.wait_ms.c.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/wait_ms.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wait_ms.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.wcslen.c.dep b/core/src/.wcslen.c.dep new file mode 100644 index 0000000..7426852 --- /dev/null +++ b/core/src/.wcslen.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/wcslen.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wcslen.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/.yield.c.dep b/core/src/.yield.c.dep new file mode 100644 index 0000000..b190ce0 --- /dev/null +++ b/core/src/.yield.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/yield.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/yield.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/core/src/access_authorize.c b/core/src/access_authorize.c new file mode 100755 index 0000000..428c47c --- /dev/null +++ b/core/src/access_authorize.c @@ -0,0 +1,55 @@ +#include +#include + +/** + * @defgroup hwo_core Core-Funktionen des hwo-Systems + * @brief Core-Funktionen. + * + * @{ + */ + +/** + * @defgroup hwo_core_auth Zugriffsauthorisierung + * @brief Zugriffsauthorisierung. + * + * @{ + */ + + /*! \brief Prüfen der Zugriffsberechtigung. + * + * Prüft Format der übergebenen Struct access und liefert + * Zugriffsrechte oder Null zurück. Setzt effective_rights-Feld + */ +int32_t access_authorize(struct _access* access) +{ + union bits32 bits; + int32_t ac; + + if (!access) + return 0; + + ac = access->access_code; + + bits.i32 = access->service_partner_id; + bits.i32 = rol32(bits.i32,13); + bits.i32 ^= access->staff_id; + bits.i32 = rol32(bits.i32,23); + bits.i32 ^= ac; + bits.i32 = rol32(bits.i32,5); + bits.i32 ^= access->magic1; + bits.i32 = rol32(bits.i32,27); + bits.i32 ^= access->passcode; + if (bits.i32) + access->effective_rights = 0; + else + access->effective_rights = ac; + + return access->effective_rights; +}; + + +/** @} +*/ + +/** @} +*/ diff --git a/core/src/adc_avr.c b/core/src/adc_avr.c new file mode 100755 index 0000000..969e01d --- /dev/null +++ b/core/src/adc_avr.c @@ -0,0 +1,45 @@ +#include + +#if !defined (__SIMPLE_ADC__) + +void adc_set_limit_min(uint8_t ch,uint16_t limit) { + if (ch < ADC_CHANNELS) { + adc.params[ch].min = limit; + }; +}; +void adc_set_limit_max(uint8_t ch,uint16_t limit) { + if (ch < ADC_CHANNELS) { + adc.params[ch].max= limit; + }; +}; +void adc_set_limit_range(uint8_t ch,uint16_t limit) { + if (ch < ADC_CHANNELS) { + adc.params[ch].max = adc.params[ch].min + limit; + }; +}; + +uint16_t adc_get_limit_min(uint8_t ch) { + if (ch < ADC_CHANNELS) { + return adc.params[ch].min; + }; + return 0; +}; +uint16_t adc_get_limit_max(uint8_t ch) { + if (ch < ADC_CHANNELS) { + return adc.params[ch].max; + }; + return 0; +}; +uint16_t adc_get_limit_range(uint8_t ch) { + if (ch < ADC_CHANNELS) { + return adc.params[ch].max - adc.params[ch].min; + }; + return 0; +}; + +void adc_save(void) { + eeprom_save( _adc_bank, &adc.eeprom ); +}; + +#endif + diff --git a/core/src/adc_cpu.c b/core/src/adc_cpu.c new file mode 100644 index 0000000..9162ece --- /dev/null +++ b/core/src/adc_cpu.c @@ -0,0 +1,98 @@ +#include +#include + +#include +#include + +#if !defined (__SIMPLE_ADC__) + +uint8_t _adc_bank; +union bits32 adc_bits; + +#endif + +uint8_t _adc_ch; +struct adc adc; + +uint8_t _adc_wdog; +uint8_t _adc_wdog_flag; + +union bits32 adc_bits; + +void adc_init(uint8_t bank) +{ +#if !defined (__SIMPLE_ADC__) + + uint8_t n; + + if (eeprom_load( bank, &adc.eeprom )) { + for (n=0;n= adc.params[_adc_ch].max) { + adc.channels[_adc_ch].value = -1; + } else if (adc.params[_adc_ch].min | (adc.params[_adc_ch].max != -1)) { + adc_bits.ui16[1] -= adc.params[_adc_ch].min; + adc.channels[_adc_ch].value = (adc_bits.ui32) / (adc.params[_adc_ch].max - adc.params[_adc_ch].min); + } else { + adc.channels[_adc_ch].value = adc_bits.ui16[1]; + }; +#else + adc.channels[_adc_ch].raw = ADC; +#endif + + _adc_ch++; + if (_adc_ch >= ADC_CHANNELS) + _adc_ch = 0x00; + + ADMUX = (ADMUX & 0xE0) | _adc_ch; + ADCSRA |= _BV(ADSC); + + _adc_wdog = 5; +}; + + + diff --git a/core/src/adc_register_proc.c b/core/src/adc_register_proc.c new file mode 100755 index 0000000..6408ec7 --- /dev/null +++ b/core/src/adc_register_proc.c @@ -0,0 +1,62 @@ +#include +#include +#include + + +int adc_node_proc(int op,int regno,uint8_t *type,void *buffer){ + + switch (op & RNPOP_MASK) + { + case RNPOP_READ: + if ((regno >= 0x8000) && (regno < 0x8008)) + { + if (*type & RDT_FLOAT) { + *(float*)buffer = fp4816_to_float( adc_value(regno & 0x07) ); + } else { + *(int32_t*)buffer = (int32_t)adc_value(regno & 0x07); + }; + return 0; + }; + if ((regno >= 0x8008) && (regno < 0x8010)) + { + *(int32_t*)buffer = (int32_t)adc_get_limit_min(regno & 0x07); + return 0; + }; + if ((regno >= 0x8010) && (regno < 0x8018)) + { + *(int32_t*)buffer = (int32_t)adc_get_limit_max(regno & 0x07); + return 0; + }; + break; + case RNPOP_WRITE: + if (rt_authorized(RTA_SERVICE0) && (regno >= 0x8008) && (regno < 0x8010)) + { + if (*(int32_t*)buffer == -1) { + adc_set_limit_min(regno & 0x07, adc.channels[regno & 0x07].raw); + } else { + adc_set_limit_min(regno & 0x07, *(int32_t*)buffer); + }; + adc_save(); + return 0; + }; + if (rt_authorized(RTA_SERVICE0) && (regno >= 0x8010) && (regno < 0x8018)) + { + if (*(int32_t*)buffer == -1) { + adc_set_limit_max(regno & 0x07, adc.channels[regno & 0x07].raw); + } else { + adc_set_limit_max(regno & 0x07, *(int32_t*)buffer); + }; + adc_save(); + return 0; + }; + break; + default: + return -EPARAM; + }; + return -EPARAM; +}; + +uint8_t adc_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram) { + uint8_t t = telegram->flags.type; + return adc_node_proc( telegram->flags.read ? RNPOP_READ : RNPOP_WRITE, telegram->regno, &t, &telegram->i32); +}; \ No newline at end of file diff --git a/core/src/assert.c b/core/src/assert.c new file mode 100644 index 0000000..4e57bad --- /dev/null +++ b/core/src/assert.c @@ -0,0 +1,77 @@ +#include +#include +#include + +#if defined(DEBUG_ASSERTIONS) + +extern volatile struct rt_ram rt_ram __attribute((weak)); + + +void _assert(int result,int16_t loc){ + +#if !defined( __DISABLE_ASSERTIONS__ ) + ATOMIC + + if (!&rt_ram) + return; + + if (rt_ram.asserts.next != -1){ + rt_ram.asserts.buffer[ rt_ram.asserts.next ].location = loc; + rt_ram.asserts.buffer[ rt_ram.asserts.next ].error = result; + rt_ram.asserts.next++; + if (rt_ram.asserts.next == ASSERT_BUFFER_LEN){ + rt_ram.asserts.next = 0; + }; + if (rt_ram.asserts.next == rt_ram.asserts.read){ + rt_ram.asserts.next = -1; + }; + }; +#endif +}; + +void _assert_read(void){ +#if !defined( __DISABLE_ASSERTIONS__ ) + ATOMIC + + if (!&rt_ram) + return; + + if (rt_ram.asserts.next != rt_ram.asserts.read){ + + if (rt_ram.asserts.next == -1){ + rt_ram.asserts.next = rt_ram.asserts.read; + }; + + rt_ram.asserts.read++; + if (rt_ram.asserts.read == ASSERT_BUFFER_LEN){ + rt_ram.asserts.read = 0; + }; + }; +#endif +}; + +int32_t _assert_current(void){ +#if !defined( __DISABLE_ASSERTIONS__ ) + ATOMIC + + if (!&rt_ram) + return 0; + + return rt_ram.asserts.buffer[rt_ram.asserts.read].location | (((int32_t)rt_ram.asserts.read)<<24); +#endif +}; + +int32_t _assert_current_error(void){ +#if !defined( __DISABLE_ASSERTIONS__ ) + ATOMIC + + if (!&rt_ram) + return 0; + + if (rt_ram.asserts.read == rt_ram.asserts.next) + return 0; + return rt_ram.asserts.buffer[rt_ram.asserts.read].error; +#endif +}; + +#endif diff --git a/core/src/bootloader.c b/core/src/bootloader.c new file mode 100755 index 0000000..b5787ba --- /dev/null +++ b/core/src/bootloader.c @@ -0,0 +1,53 @@ +#include +#include + +#include + +#include + +struct bl_cmd bl_cmd; + + +uint32_t flash_pointer; +char flash_buffer[ SPM_PAGESIZE ]; + + +uint8_t bootloader(FILE *stream) +{ + uint8_t n; + int ch; + uint8_t cmd; + + + for (n=0;n<10;n++) + { + fputc( '*', stream ); + wait_ms(100); + ch = fgetc( stream ); + if (ch == '$') + break; + }; + + if (n == 10) + bl_boot_application(); + + while (1) + { + ch = bl_recv( stream, &bl_cmd ); + if (ch > 0) + { + switch (bl_cmd.cmd) + { + case BL_CMD_ERASE_FLASH: + break; + case BL_CMD_WRITE_FLASH: + break; + case BL_CMD_FLUSH: + break; + }; + }; + }; + +}; + + diff --git a/core/src/chksum.c b/core/src/chksum.c new file mode 100755 index 0000000..d79f269 --- /dev/null +++ b/core/src/chksum.c @@ -0,0 +1,25 @@ +#include + +#include +#include + + +void chksum(avrChksum* chksum,void* block,uint8_t len) +{ + uint8_t p; + uint8_t *b = (uint8_t*)block; + + if (chksum == NULL) + return; + + chksum->combined = 0x00; + + for (p=0;psum8 += b[p]; + chksum->xor8 ^= b[p]; + }; +}; + + + diff --git a/core/src/crc8.c b/core/src/crc8.c new file mode 100755 index 0000000..74f7b9a --- /dev/null +++ b/core/src/crc8.c @@ -0,0 +1,61 @@ + +/** @brief pre-computed values for CRC8-CCITT calculation */ +static const unsigned char Crc8Table[256] = +{ + 0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15, + 0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D, + 0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65, + 0x48, 0x4F, 0x46, 0x41, 0x54, 0x53, 0x5A, 0x5D, + 0xE0, 0xE7, 0xEE, 0xE9, 0xFC, 0xFB, 0xF2, 0xF5, + 0xD8, 0xDF, 0xD6, 0xD1, 0xC4, 0xC3, 0xCA, 0xCD, + 0x90, 0x97, 0x9E, 0x99, 0x8C, 0x8B, 0x82, 0x85, + 0xA8, 0xAF, 0xA6, 0xA1, 0xB4, 0xB3, 0xBA, 0xBD, + 0xC7, 0xC0, 0xC9, 0xCE, 0xDB, 0xDC, 0xD5, 0xD2, + 0xFF, 0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA, + 0xB7, 0xB0, 0xB9, 0xBE, 0xAB, 0xAC, 0xA5, 0xA2, + 0x8F, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9D, 0x9A, + 0x27, 0x20, 0x29, 0x2E, 0x3B, 0x3C, 0x35, 0x32, + 0x1F, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0D, 0x0A, + 0x57, 0x50, 0x59, 0x5E, 0x4B, 0x4C, 0x45, 0x42, + 0x6F, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7D, 0x7A, + 0x89, 0x8E, 0x87, 0x80, 0x95, 0x92, 0x9B, 0x9C, + 0xB1, 0xB6, 0xBF, 0xB8, 0xAD, 0xAA, 0xA3, 0xA4, + 0xF9, 0xFE, 0xF7, 0xF0, 0xE5, 0xE2, 0xEB, 0xEC, + 0xC1, 0xC6, 0xCF, 0xC8, 0xDD, 0xDA, 0xD3, 0xD4, + 0x69, 0x6E, 0x67, 0x60, 0x75, 0x72, 0x7B, 0x7C, + 0x51, 0x56, 0x5F, 0x58, 0x4D, 0x4A, 0x43, 0x44, + 0x19, 0x1E, 0x17, 0x10, 0x05, 0x02, 0x0B, 0x0C, + 0x21, 0x26, 0x2F, 0x28, 0x3D, 0x3A, 0x33, 0x34, + 0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B, + 0x76, 0x71, 0x78, 0x7F, 0x6A, 0x6D, 0x64, 0x63, + 0x3E, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B, + 0x06, 0x01, 0x08, 0x0F, 0x1A, 0x1D, 0x14, 0x13, + 0xAE, 0xA9, 0xA0, 0xA7, 0xB2, 0xB5, 0xBC, 0xBB, + 0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83, + 0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB, + 0xE6, 0xE1, 0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3 +}; + + +/**************************************************************************//** + ** Generiert Prüfwert der Zyklische Redundanzprüfung nach CRC8-CCITT mit + ** gegebenem Startwert (Fortsetzung der Generierung über Datensequenz). + ** + ** @param[in] pData: Zeiger auf Daten (Startadresse) + ** @param[in] ByteCount: Anzahl der Bytes + ** @param[in] StartVal: Startwert (CRC8-ITU = 0) + ** @return Ergebnis + *****************************************************************************/ +unsigned char crc8 (const unsigned char *pData, + unsigned char ByteCount, + unsigned char StartVal) +{ + unsigned char crc = StartVal; + + while (ByteCount--) + { + crc = Crc8Table[crc ^ *(pData++)]; + crc &= 0xFF; + } + return crc; +} diff --git a/core/src/ctxsched.c b/core/src/ctxsched.c new file mode 100755 index 0000000..90ada16 --- /dev/null +++ b/core/src/ctxsched.c @@ -0,0 +1,198 @@ +#include +#include +#include + +#include + +#include + +int __main_stack_size__ = 0x80; +extern int __main_stack_size __attribute__((weak, alias("__main_stack_size__"))); + + +extern uint8_t *pSystickSP; + +/* _threading_threads: Global Thread List + * + * listhead: thread->list + * + * */ +list_t _threading_threads; +/* _threading_queues: Thread Queues by Priority (all threads are running) + * + * listhead: thread->list_queue + * + * */ +list_t _threading_queues[4]; + +/* _threading_periodics: List of all periodically scheduled Threads + * + * listhead: thread->list_periodic + * + * */ +list_t _threading_periodics; + +/* _threading_wait: List of all sleeping Threads + * + * listhead: thread->list_queue + * + * */ +list_t _threading_waiting; + + +/* _threading_current: Currently active/scheduled Thread */ +THREAD* _threading_current; + +/* Predefined System Threads... */ +THREAD* _thread_idle; +THREAD* _thread_main; + +void main(void *arg); +void idle(void*); + +void __ctx_init(void) __attribute__((naked)) __attribute__((section (".init7"))); +void __ctx_init(void) +{ + uint8_t n; + + list_init( &_threading_threads ); + list_init( &_threading_waiting ); + list_init( &_threading_periodics ); + + for (n=0;n<4;n++) { + list_init( &_threading_queues[n] ); + }; + + _thread_main = thread_alloc( main, NULL, __main_stack_size ); + _thread_idle = thread_alloc( idle, NULL, 60 ); + thread_set_priority( _thread_idle, TP_IDLE ); + +}; + +uint8_t* scheduler(uint8_t* oldstack) +{ + uint8_t n; + int f; + + list_t *next = NULL; + THREAD *next_thread = NULL; + + if (_threading_current){ + _threading_current->stack.stackpointer = oldstack; + + f = (int)oldstack - (int)_threading_current->stack.base; + if ( f < _threading_current->stack.min_free) + _threading_current->stack.min_free = f; + + if (_threading_current->remove) { + unschedule_thread( _threading_current ); + }; + + if (list_next(&_threading_queues[ _threading_current->priority ]) == &(_threading_current->list_queue)){ + list_remove( &(_threading_current->list_queue) ); + list_append( &(_threading_current->list_queue), &_threading_queues[ _threading_current->priority ] ); + }; + }; + + for (n=0;n<4;n++) { + if (!list_is_empty(&_threading_queues[n])) { + next = _threading_queues[n].next; + break; + }; + }; + + if (next){ + next_thread = list_entry(next,thread_t,list_queue); + } else { + next_thread = _thread_idle; + }; + + next_thread->statistic.scheduled++; + + _threading_current = next_thread; + + return next_thread->stack.stackpointer; +}; + + +void idle(void*arg) +{ + while (1) { +/* cli(); + set_sleep_mode(0); + sleep_enable(); + sei(); + sleep_cpu(); + sleep_disable(); +*/ + }; +}; + +void schedule_thread(THREAD *thread){ + ATOMIC + + if (thread){ + if (!list_is_empty(&thread->list_queue)) { + unschedule_thread( thread ); + }; + + if (thread->periodic){ + list_append( &thread->list_periodic, &_threading_periodics ); + }; + + if (thread->wait){ + list_append( &thread->list_queue, &_threading_waiting ); + } else { + list_append( &thread->list_queue, &_threading_queues[ thread->priority ]); + }; + + }; +}; + +void unschedule_thread(THREAD *thread){ + ATOMIC + + if (thread) { + list_remove( &thread->list_queue ); + list_remove( &thread->list_periodic ); + }; +}; + +/* st_schedule(): Aktualisiert die periodische Threadplanung */ +void st_schedule(void){ + list_t *lh,*tmp; + THREAD *t; + + for_each_list_entry_save(lh,tmp,&_threading_waiting) { + t = list_entry(lh,thread_t,list_queue); + + if (t->timeout && (t->timeout <= _systick_ticks)) + { + t->wait = 0; + t->timeout = 0; + + schedule_thread( t ); + } else { + }; + }; + + for_each_list_entry(lh,&_threading_periodics) { + t = list_entry(lh,thread_t,list_periodic); + + t->periodic -= _systick_us; + if (t->periodic <= 0) { + t->periodic += t->periode; + if (!t->wait) { + t->periodic_miss = 1; + t->statistic.periodic_misses++; + } else { + t->wait = 0; + lh = lh->next; + + schedule_thread( t ); + } + }; + }; + +}; + diff --git a/core/src/datetime2unix.c b/core/src/datetime2unix.c new file mode 100755 index 0000000..b66576f --- /dev/null +++ b/core/src/datetime2unix.c @@ -0,0 +1,19 @@ +#include + +time_t datetime2unix(datetime_t *datetime){ + time_t result = 0; + + int schaltjahre = ((datetime->year - 1) - 1968)/4 + - ((datetime->year - 1) - 1900)/100 + + ((datetime->year - 1) - 1600)/400; + + int tage1970 = ((datetime->year - 1970) * 365) + schaltjahre + daysfromyearstart(datetime->month) + datetime->day; + + if ( (datetime->month>1) && ((datetime->year%4==0) && ((datetime->year%100!=0) || (datetime->year%400==0)))){ + tage1970++; + }; + + result = datetime->second + (60L * (datetime->minute + 60L * (datetime->hour + (24L * tage1970)))); + + return result; +}; \ No newline at end of file diff --git a/core/src/dbg_var.c b/core/src/dbg_var.c new file mode 100644 index 0000000..6ed9d60 --- /dev/null +++ b/core/src/dbg_var.c @@ -0,0 +1,5 @@ +#include + +#include + + diff --git a/core/src/debug.c b/core/src/debug.c new file mode 100755 index 0000000..fe592c4 --- /dev/null +++ b/core/src/debug.c @@ -0,0 +1,27 @@ +#include + +#include + +FILE* _dbg_file; + +void debug_serial(FILE* serial) +{ + _dbg_file = serial; +}; + +FILE* debug_stream(void) +{ + if (_dbg_file) + return _dbg_file; + return NULL; +}; + +void debug(char* line) +{ + if (_dbg_file) + { + fputs(line, _dbg_file); + fputs("\r\n", _dbg_file); + }; +}; + diff --git a/core/src/dev_null.c b/core/src/dev_null.c new file mode 100755 index 0000000..7627f67 --- /dev/null +++ b/core/src/dev_null.c @@ -0,0 +1,21 @@ +#include + +#include +#include + +int null_get(FILE *stream) +{ + return 0; +}; +int null_put(char ch,FILE *stream) +{ + return 0; +}; + + +FILE* dev_null(void) +{ + FILE *devnull = fdevopen(null_put,null_get); + return devnull; +}; + diff --git a/core/src/dev_null_avr.c b/core/src/dev_null_avr.c new file mode 100755 index 0000000..34ff56f --- /dev/null +++ b/core/src/dev_null_avr.c @@ -0,0 +1,18 @@ +#include + +int null_get(FILE *stream) +{ + return 0; +}; +int null_put(char ch,FILE *stream) +{ + return 0; +}; + + +FILE* dev_null(void) +{ + FILE *devnull = fdevopen(null_put,null_get); + return devnull; +}; + diff --git a/core/src/doc.bootloader.txt b/core/src/doc.bootloader.txt new file mode 100755 index 0000000..3f37a3c --- /dev/null +++ b/core/src/doc.bootloader.txt @@ -0,0 +1,44 @@ + +uint8_t bootloader(FILE *stream); + +Starten der Bootloader Logik. + +Funktion: + + + +Wiederhole bis zu 10mal: + Sende Bootloader Kennung auf + Warte 100ms + Antwort erhalten + Ja: Kommandoschleife + +Kommandoschleife: + Lese + ... + + + + + + + +Protokoll: + + *[ ] + +cmd: Byte 0x00 Noop + + 0x10 Erase Application Code + 0x11 Send up to 16 Bytes to be flashed to application section + 0x12 Set Flash Pointer + 0x18 retrieve flash parameters (size, pagesize) + + 0x40 bootloader reply + + 0x2A Bootloader ID + 0xA2 Bootloader ID-Reply + + + + diff --git a/core/src/eeprom.c b/core/src/eeprom.c new file mode 100755 index 0000000..b3b8069 --- /dev/null +++ b/core/src/eeprom.c @@ -0,0 +1,14 @@ +#include +#include + +struct avr_eeprom_desc __ee_desc = { + num_banks: (E2END+1) / 68 +}; + +void __eeprom_init6__(void) __attribute__((naked)) __attribute__((section(".init6"))); +void __eeprom_init6__(void) +{ + __ee_desc.base_chksums = (void*)(__ee_desc.num_banks * 64); +}; + + diff --git a/core/src/eeprom_load.c b/core/src/eeprom_load.c new file mode 100755 index 0000000..1d1ba01 --- /dev/null +++ b/core/src/eeprom_load.c @@ -0,0 +1,40 @@ +#include +#include + +#include + +extern struct avr_eeprom_desc __ee_desc; + +MUTEX eepromMutex; + +uint16_t eeprom_load(uint8_t bank,avrEEPROM *data) +{ + MUTEXED( &eepromMutex ); + avrChksum chk,eechk; + + if (bank < __ee_desc.num_banks) + { + eeprom_read_block(data, (void*)(0x20 * bank), 32); + eeprom_read_block(&eechk, (void*)(__ee_desc.base_chksums + (bank<<1)), 0x02); + chksum(&chk,data,32); + + if (chk.combined == eechk.combined) + return ESUCCESS; + + bank += __ee_desc.num_banks; + + eeprom_read_block(data, (void*)(0x20 * bank), 32); + eeprom_read_block(&eechk, (void*)(__ee_desc.base_chksums + (bank<<1)), 0x02); + chksum(&chk,data,32); + + if (chk.combined == eechk.combined){ + return ESUCCESS; + } else { + return -ECRC; + }; + }; + return -ENOFILE; +}; + + + diff --git a/core/src/eeprom_save.c b/core/src/eeprom_save.c new file mode 100755 index 0000000..6577da1 --- /dev/null +++ b/core/src/eeprom_save.c @@ -0,0 +1,29 @@ +#include +#include + +#include + +extern struct avr_eeprom_desc __ee_desc; + +uint16_t eeprom_save(uint8_t bank,avrEEPROM *data) +{ + MUTEXED( &eepromMutex ); + avrChksum chk; + + if (bank < __ee_desc.num_banks) + { + chksum(&chk,data,32); + eeprom_update_block(data, (void*)(0x20 * bank), 32); + eeprom_update_block(&chk, (void*)(__ee_desc.base_chksums + (bank<<1)), 0x02); + + bank += __ee_desc.num_banks; + eeprom_update_block(data, (void*)(0x20 * bank), 32); + eeprom_update_block(&chk, (void*)(__ee_desc.base_chksums + (bank<<1)), 0x02); + + return ESUCCESS; + }; + return -ENOFILE; +}; + + + diff --git a/core/src/event_append.c b/core/src/event_append.c new file mode 100755 index 0000000..3470fd7 --- /dev/null +++ b/core/src/event_append.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +#include + +#include + +LIST(_ev_head); + +EVENT *_ev_cleanup; + +THREAD *eventWaiter; + +/*! \brief Trägt einen Event in Eventliste ein und weckt einen wartenden Thread auf. + * + */ +int event_append(EVENT *event) +{ + ATOMIC + + event->time = systick_ticks(); + + list_append( &(event->list), &_ev_head ); + if (eventWaiter) { + thread_wake(eventWaiter); + }; + return ESUCCESS; +}; + + diff --git a/core/src/event_cleanup.c b/core/src/event_cleanup.c new file mode 100755 index 0000000..37fefc0 --- /dev/null +++ b/core/src/event_cleanup.c @@ -0,0 +1,15 @@ +#include +#include +#include + +#include + +void event_cleanup(void) +{ + ATOMIC + if (_ev_cleanup) { + free( _ev_cleanup ); + _ev_cleanup = NULL; + }; +}; + diff --git a/core/src/event_pull.c b/core/src/event_pull.c new file mode 100755 index 0000000..7deceb3 --- /dev/null +++ b/core/src/event_pull.c @@ -0,0 +1,20 @@ +#include +#include +#include + +#include + +/*! \brief Wartet auf einen Event und liefert ihn zurück. + * + */ +EVENT* event_pull(void) +{ + EVENT *e; + do + { + e = event_wait( 100 ); + if (e) + return e; + } while (1); +}; + diff --git a/core/src/event_push.c b/core/src/event_push.c new file mode 100755 index 0000000..3ca29e6 --- /dev/null +++ b/core/src/event_push.c @@ -0,0 +1,31 @@ +#include + +#include +#include +#include + +#include +#include + +/*! \brief . + * + */ +int event_push(uint32_t event,uint32_t p1,uint32_t p2,void* ptr) +{ + EVENT* ev = malloc(sizeof(EVENT)); + + if (ev) + { + memset(ev,0x00,sizeof(avrEVENT)); + + ev->flags = EV_FLAG_AUTOFREE; + ev->event = event; + ev->parm1 = p1; + ev->parm2 = p2; + ev->ptr = ptr; + + assert(event_append(ev)); + return ESUCCESS; + }; + return -ENOMEM; +}; diff --git a/core/src/event_wait.c b/core/src/event_wait.c new file mode 100755 index 0000000..3ad0361 --- /dev/null +++ b/core/src/event_wait.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include + +#include + +/*! \brief . + * + */ +EVENT* event_wait(uint32_t maxwait) +{ + list_t *l; + EVENT* e; + + event_cleanup(); + + do + { + ATOMIC + + l = list_fetch_first( &_ev_head ); + if (l) { + e = list_entry(l,EVENT,list); + if (e->flags & EV_FLAG_AUTOFREE) + _ev_cleanup = e; + + if (e->event == EV_SYS_TIMER){ + if (e->ptr){ + void (*h)(void) = e->ptr; + h(); + return NULL; + }; + }; + return e; + }; + + if (!maxwait) + return NULL; + + eventWaiter = current_thread(); + wait_ms( maxwait ); + eventWaiter = NULL; + } while (1); +}; + + + diff --git a/core/src/f_cpu.c b/core/src/f_cpu.c new file mode 100755 index 0000000..89b4bba --- /dev/null +++ b/core/src/f_cpu.c @@ -0,0 +1,5 @@ +#include + +uint32_t __freq_cpu = F_CPU; + + diff --git a/core/src/fdev_create.c b/core/src/fdev_create.c new file mode 100755 index 0000000..b26f70c --- /dev/null +++ b/core/src/fdev_create.c @@ -0,0 +1,15 @@ +#include +#include +#include + +FILE* fdev_create(int appendsize,fdevput put,fdevget get,fdevreadblock readblock,fdevwriteblock writeblock){ + FILE* f = (FILE*)malloc(sizeof(FILE) + appendsize); + if (f) { + memset(f, 0x00, sizeof(FILE) + appendsize); + f->put = put; + f->get = get; + f->readblock = readblock; + f->writeblock = writeblock; + }; + return f; +}; \ No newline at end of file diff --git a/core/src/fdev_notify.c b/core/src/fdev_notify.c new file mode 100755 index 0000000..033aa35 --- /dev/null +++ b/core/src/fdev_notify.c @@ -0,0 +1,13 @@ +#include + +#include + +int fdev_notify(FILE* f,thread_t* notify){ + if (f){ + ATOMIC + + f->notify = notify; + return 0; + } + return -1; +}; diff --git a/core/src/fdevopen_ts.c b/core/src/fdevopen_ts.c new file mode 100755 index 0000000..3ea1ac0 --- /dev/null +++ b/core/src/fdevopen_ts.c @@ -0,0 +1,30 @@ +#include +#include + +#ifndef __HWO_STDIO__ + +#undef fdevopen + +FILE* fdevopen_ts (int(*put)(char, FILE *),int(*get )(FILE *)) +{ + ATOMIC + + return fdevopen(put,get); +}; + +#else + +FILE* fdevopen_ts (int(*put)(char, FILE *),int(*get )(FILE *)) +{ + ATOMIC + + FILE *stream = malloc( sizeof( FILE ) ); + if (stream) { + stream->put = put; + stream->get = get; + stream->udata = 0L; + }; + return stream; +}; + +#endif diff --git a/core/src/fifo.c b/core/src/fifo.c new file mode 100755 index 0000000..b9ad57c --- /dev/null +++ b/core/src/fifo.c @@ -0,0 +1,11 @@ +#include + +#include + + +/* Wieviele Bytes sind im FIFO gespeichert? */ + +/* Wieviele Bytes sind frei? */ + + + diff --git a/core/src/fifo_alloc.c b/core/src/fifo_alloc.c new file mode 100755 index 0000000..4782afb --- /dev/null +++ b/core/src/fifo_alloc.c @@ -0,0 +1,23 @@ +#include +#include + +#include +#include + +/*! \brief Speicher für FIFO allozieren. + * + */ +FIFO* fifo_alloc(uint8_t size) +{ + FIFO* fifo = malloc_ts(sizeof(FIFO)); + if (fifo) + { + fifo->size = size; + fifo->pWrite = 0; + fifo->pRead = 0; + fifo->pBuffer = malloc_ts(size); + fifo->blocking = 1; + }; + return fifo; +}; + diff --git a/core/src/fifo_avail.c b/core/src/fifo_avail.c new file mode 100755 index 0000000..d33b2c3 --- /dev/null +++ b/core/src/fifo_avail.c @@ -0,0 +1,13 @@ +#include +#include + +uint8_t fifo_avail(FIFO* fifo) +{ + ATOMIC + + if (fifo->pWrite < fifo->pRead) + return fifo->size - fifo->pRead + fifo->pWrite; + else + return fifo->pWrite - fifo->pRead; +}; + diff --git a/core/src/fifo_free.c b/core/src/fifo_free.c new file mode 100755 index 0000000..aefb66f --- /dev/null +++ b/core/src/fifo_free.c @@ -0,0 +1,9 @@ +#include +#include + +uint8_t fifo_free(FIFO* fifo) +{ + ATOMIC + return fifo->size - fifo_avail(fifo) -1 ; +}; + diff --git a/core/src/fifo_options.c b/core/src/fifo_options.c new file mode 100755 index 0000000..7c94e55 --- /dev/null +++ b/core/src/fifo_options.c @@ -0,0 +1,9 @@ +#include +#include +#include + +void fifo_options(FIFO* fifo,uint8_t options) +{ + if (fifo) + fifo->flags = options; +}; \ No newline at end of file diff --git a/core/src/fifo_poll.c b/core/src/fifo_poll.c new file mode 100755 index 0000000..822f9e9 --- /dev/null +++ b/core/src/fifo_poll.c @@ -0,0 +1,17 @@ +#include +#include + +uint16_t fifo_poll(FIFO* fifo) +{ + ATOMIC + if (fifo_avail(fifo)>0) + { + uint8_t r = fifo->pBuffer[ fifo->pRead++ ]; + if (fifo->pRead == fifo->size) + fifo->pRead = 0; + return r; + }; + return -1; +}; + + diff --git a/core/src/fifo_read.c b/core/src/fifo_read.c new file mode 100755 index 0000000..df1f7ed --- /dev/null +++ b/core/src/fifo_read.c @@ -0,0 +1,24 @@ +#include +#include +#include + +uint16_t fifo_read(FIFO* fifo) +{ + wait_async_set(&fifo->wtimeout,fifo->timeout); + do + { + { + ATOMIC + uint16_t ch = fifo_poll(fifo); + if (ch != -1) + return ch; + + if (fifo->irq_rd) + return -1; + } + yield(); + } while (fifo->blocking || (fifo->timeout == -1) || (!wait_async_test(&fifo->wtimeout))); + + return -1; +}; + diff --git a/core/src/fifo_read_block.c b/core/src/fifo_read_block.c new file mode 100755 index 0000000..d9f9d8e --- /dev/null +++ b/core/src/fifo_read_block.c @@ -0,0 +1,18 @@ +#include +#include +#include + +uint16_t fifo_read_block (FIFO* fifo,uint8_t* buffer,int maxlen) +{ + int n; + + for (n=0;n + +void fifo_set_blocking(FIFO* fifo,uint8_t blocking) +{ + if (fifo) + fifo->blocking = blocking; +}; + diff --git a/core/src/fifo_set_timeout.c b/core/src/fifo_set_timeout.c new file mode 100755 index 0000000..d0cae47 --- /dev/null +++ b/core/src/fifo_set_timeout.c @@ -0,0 +1,11 @@ +#include + + +void fifo_set_timeout(FIFO*fifo,uint16_t timeout) +{ + if (fifo) + { + fifo->timeout = timeout; + }; +}; + diff --git a/core/src/fifo_write.c b/core/src/fifo_write.c new file mode 100755 index 0000000..905c443 --- /dev/null +++ b/core/src/fifo_write.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include + +/*! \brief Schreiben von Zeichen "byte" in FIFO "fifo" + */ +void fifo_write(FIFO* fifo,uint8_t byte) +{ + wait_async_set(&fifo->wtimeout,fifo->timeout); + do + { + { + ATOMIC + if (fifo_free(fifo)>0) + { + fifo->pBuffer[fifo->pWrite++] = byte; + if (fifo->pWrite == fifo->size) + fifo->pWrite = 0; + return; + }; + + if (fifo->irq_wr) + return; + } + yield(); + } + while (fifo->blocking && ((fifo->timeout == -1) || !wait_async_test(&fifo->wtimeout))); +}; + diff --git a/core/src/fixpoint.c b/core/src/fixpoint.c new file mode 100755 index 0000000..f634d5c --- /dev/null +++ b/core/src/fixpoint.c @@ -0,0 +1,59 @@ +#include "hwo/fixpoint.h" + +uint8_t _fp_buffer[32]; + +fixpoint_t fp_atan(fixpoint_t tan) +{ + // TODO: Implement fp_atan() function, not needed for the moment. + return 0; +}; + + +uint8_t* fp_toa(fixpoint_t value,int pre,int dec) +{ + return fp_toa_r(_fp_buffer,value,pre,dec); +}; + +uint8_t* fp_toa_r(uint8_t* buffer,fixpoint_t value,int pre,int dec) +{ + int v; + fixpoint_t d = fp_make(10000); + int i,di = 0; + uint8_t* p = buffer; + + if (value & 0x80000000) + { + *(p++) = '-'; + value = 0 - value; + } else + *(p++) = ' '; + + for (i = 0;i<(5+dec);i++) + { + if (i == 5) + *(p++) = ','; + + v = value / d; + value %= d; + di += v; + + if (i >= (5-pre)) + { + if ( + (v != 0) || + (di != 0) || + (i >= 4) + ) + *(p++) = (0x30 + v); + else + *(p++) = ' '; + }; + + d /= 10; + }; + + *p = 0x00; + + return buffer; +}; + diff --git a/core/src/fp1616_smoother.c b/core/src/fp1616_smoother.c new file mode 100755 index 0000000..6483187 --- /dev/null +++ b/core/src/fp1616_smoother.c @@ -0,0 +1,11 @@ +#include + +fp1616_t fp1616_smoother(struct _fp1616_smoother *smoother,fp1616_t sample) { + + smoother->sum = fp1616_add(smoother->sum,sample); + smoother->value = fp1616_mul(smoother->sum,smoother->k); + smoother->sum = fp1616_sub(smoother->sum,smoother->value); + + return smoother->value; +}; + diff --git a/core/src/fp4816_from_float.c b/core/src/fp4816_from_float.c new file mode 100755 index 0000000..428ed55 --- /dev/null +++ b/core/src/fp4816_from_float.c @@ -0,0 +1,16 @@ +#include + +/* +fp4816_t fp4816_from_float(float value) +{ + IEEEFLOAT ieee = { value }; + int16_t exp = ieee.exponent - 127; + int32_t mantisse = ieee.mantisse | 0x00800000; + fp4816_t fp = (fp4816_t)(mantisse >> (15 - exp)); + + if (ieee.sign) + fp *= -1; + + return fp; +}; +*/ \ No newline at end of file diff --git a/core/src/fp4816_from_float_asm.S b/core/src/fp4816_from_float_asm.S new file mode 100755 index 0000000..5b60e3f --- /dev/null +++ b/core/src/fp4816_from_float_asm.S @@ -0,0 +1,142 @@ + +.global fp4816_from_float + +fp4816_from_float: +; param: in float r22:r25 +; ret fp4816_t r18:r25 +; var: exp r13 +; sign r12.1 + + push r17 + push r16 + push r15 + push r14 + push r13 + push r12 + + cp r22, r1 + cpc r23, r1 + cpc r24, r1 + cpc r25, r1 + breq _zero + + ; Mantisse verschieben => r18:r20.(0-6) + mov r18, r22 + mov r19, r23 + mov r20, r24 + ori r20, 0x80 + + ; Exponent sichern => r13 (korrektur: -7, wg. Position mantisse B.24 auf E+8) + mov r13, r25 + mov r12, r24 + lsl r12 + rol r13 + ldi r16, 134 + sub r13, r16 + + ; Sign => r12.0 + eor r12, r12 + ldi r16, 0x01 + sbrc r25, 7 + or r12, r16 + + eor r21, r21 + eor r22, r22 + eor r23, r23 + eor r24, r24 + eor r25, r25 + + cp r13, r1 + breq _l1 + brmi _shr + +; Shift left... + +_shl: + lsl r18 + rol r19 + rol r20 + rol r21 + rol r22 + rol r23 + rol r24 + rol r25 + dec r13 + tst r13 + brne _shl + + rjmp _l1 + +; Shift right... +_shr: + ldi r16, -23 + cp r13, r16 + brlo _zero + +_shr2: + lsr r20 + ror r19 + ror r18 + inc r13 + tst r13 + brne _shr2 + + +_l1: + sbrs r12, 0 + rjmp _exit + + com r18 + com r19 + com r20 + com r21 + com r22 + com r23 + com r24 + com r25 + ldi r16, 0x01 + add r18, r16 + adc r19, r1 + adc r20, r1 + adc r21, r1 + adc r22, r1 + adc r23, r1 + adc r24, r1 + adc r25, r1 + + rjmp _exit + +_zero: + eor r18, r18 + eor r19, r19 + eor r20, r20 + eor r21, r21 + eor r22, r22 + eor r23, r23 + eor r24, r24 + eor r25, r25 + +_exit: + pop r12 + pop r13 + pop r14 + pop r15 + pop r16 + pop r17 + ret + + +#if 0 +fp4816_t fp4816_from_float(float value) +{ + IEEEFLOAT ieee = { value }; + int16_t exp = ieee.exponent - 127; + int32_t mantisse = ieee.mantisse | 0x00800000; + fp4816_t fp = (fp4816_t)(mantisse >> (15 - exp)); + + if (ieee.sign) + fp *= -1; + + return fp; +}; +#endif \ No newline at end of file diff --git a/core/src/fp4816_pid.c b/core/src/fp4816_pid.c new file mode 100644 index 0000000..905fac0 --- /dev/null +++ b/core/src/fp4816_pid.c @@ -0,0 +1,151 @@ +#include + +#include +#include + + +fp4816_pid_t* pid4816_create (void){ + fp4816_pid_t *pid = malloc( sizeof( fp4816_pid_t) ); + + if (!pid) + return NULL; + + memset(pid, 0x00, sizeof(fp4816_pid_t)); + + return pid; +}; + +int pid4816_set (fp4816_pid_t *pid,fp4816_t Kp,fp4816_t Ki,fp4816_t Kd){ + if (!pid) + return -ENULLPTR; + + pid->kp = Kp; + pid->ki = Ki; + pid->kd = Kd; + + return ESUCCESS; +}; + +int pid4816_set_kp (fp4816_pid_t *pid,fp4816_t Kp){ + if (!pid) + return -ENULLPTR; + + pid->kp = Kp; + + return ESUCCESS; +}; + +int pid4816_set_ki (fp4816_pid_t *pid,fp4816_t Ki){ + if (!pid) + return -ENULLPTR; + + pid->ki = Ki; + + return ESUCCESS; +}; +int pid4816_set_kd (fp4816_pid_t *pid,fp4816_t Kd){ + if (!pid) + return -ENULLPTR; + + pid->kd = Kd; + + return ESUCCESS; +}; + +int pid4816_get_kp (fp4816_pid_t *pid,fp4816_t *Kp){ + if (!pid) + return -ENULLPTR; + + *Kp = pid->kp; + + return ESUCCESS; +}; +int pid4816_get_ki (fp4816_pid_t *pid,fp4816_t *Ki){ + if (!pid) + return -ENULLPTR; + + *Ki = pid->ki; + + return ESUCCESS; +}; +int pid4816_get_kd (fp4816_pid_t *pid,fp4816_t *Kd){ + if (!pid) + return -ENULLPTR; + + *Kd = pid->kd; + + return ESUCCESS; +}; + +int pid4816_set_limits(fp4816_pid_t *pid,fp4816_t *omin,fp4816_t *omax,fp4816_t *imin,fp4816_t *imax){ + if (!pid) + return -ENULLPTR; + + if (omin) + pid->lim_omin = *omin; + if (omax) + pid->lim_omax = *omax; + if (imin) + pid->lim_imin = *imin; + if (imax) + pid->lim_imax = *imax; + + return ESUCCESS; +}; + +int pid4816_get_limits(fp4816_pid_t *pid,fp4816_t *omin,fp4816_t *omax,fp4816_t *imin,fp4816_t *imax){ + if (!pid) + return -ENULLPTR; + + if (omin) + *omin = pid->lim_omin; + if (omax) + *omax = pid->lim_omax; + if (imin) + *imin = pid->lim_imin; + if (imax) + *imax = pid->lim_imax; + + return ESUCCESS; +}; + + + +int pid4816_cycle (fp4816_pid_t *pid,fp4816_t value){ + fp4816_t t; + + if (!pid) + return -ENULLPTR; + + pid->integral += fp4816_mul(pid->ki, value); + if (pid->integral < pid->lim_imin) + pid->integral = pid->lim_imin; + if (pid->integral > pid->lim_imax) + pid->integral = pid->lim_imax; + + t = pid->integral + fp4816_mul( pid->kp, value ) + fp4816_mul( pid->kd, ( value - pid->last_value ) ); + pid->last_value = value; + + if (t < pid->lim_omin) + t = pid->lim_omin; + if (t > pid->lim_omax) + t = pid->lim_omax; + + pid->out = t; + + return ESUCCESS; +}; + + +/* +static inline fp4816_t pi_fp4816_cycle(PI_FP4816 *pi,fp4816_t value) +{ + pi->integral += fp4816_mul(pi->ki, value); + if (pi->integral > pi->limit_max) + pi->integral = pi->limit_max; + if (pi->integral < pi->limit_min) + pi->integral = pi->limit_min; + return pi->integral + fp4816_mul(pi->kp, value); +}; + * +*/ \ No newline at end of file diff --git a/core/src/fp4816_pow.c b/core/src/fp4816_pow.c new file mode 100755 index 0000000..443670f --- /dev/null +++ b/core/src/fp4816_pow.c @@ -0,0 +1,31 @@ +#include + +fp4816_t fp4816_pow(fp4816_t v,int pow) { + uint8_t neg; + fp4816_t calc = 1L<<16; + + if (!pow) + return calc; + + if (pow < 0) { + pow = -pow; + neg = 1; + } else { + neg = 0; + }; + + if (pow == 1) { + calc = v; + } else { + while (pow > 0) { + calc = fp4816_mul( calc, v ); + pow--; + }; + }; + + if (neg) { + calc = fp4816_div( 1L<<16, calc ); + }; + return calc; +}; + diff --git a/core/src/fp4816_sincos_slow.c b/core/src/fp4816_sincos_slow.c new file mode 100755 index 0000000..e1f4f95 --- /dev/null +++ b/core/src/fp4816_sincos_slow.c @@ -0,0 +1,44 @@ +#include + +fp4816_t fp4816_sin090_slow(fp4816_t rad) { + return fp4816_taylor(rad,10); +}; + +fp4816_t fp4816_cos_slow(fp4816_t rad) { + return fp4816_sin_slow( rad + FP4816_05PI ); +} + +fp4816_t fp4816_sin_slow(fp4816_t rad) { + if ( + (rad >= FP4816_2PI) || + (rad < 0) + ) { + rad %= FP4816_2PI; + if (rad < 0) { + rad += FP4816_2PI; + }; + }; + + if ( + (rad == (FP4816_PI)) || + (rad == 0) + ) { + return 0; + }; + + if (rad == (FP4816_05PI)) { + return 65536L; + } else if (rad == (FP4816_15PI)) { + return -65536L; + } else if (rad < FP4816_05PI){ + return fp4816_sin090_slow( rad ); + } else if (rad < FP4816_PI){ + return fp4816_sin090_slow( FP4816_PI - rad ); + } else if (rad < FP4816_15PI){ + return -fp4816_sin090_slow( rad - FP4816_PI ); + } else if (rad < FP4816_2PI){ + return -fp4816_sin090_slow( FP4816_2PI - rad ); + }; + return fp4816_from_int32( 2 ); +}; + diff --git a/core/src/fp4816_smoother.c b/core/src/fp4816_smoother.c new file mode 100755 index 0000000..07adb18 --- /dev/null +++ b/core/src/fp4816_smoother.c @@ -0,0 +1,11 @@ +#include + +fp4816_t fp4816_smoother(struct _fp4816_smoother *smoother,fp4816_t sample) { + + smoother->sum += sample; + smoother->value = fp4816_mul(smoother->sum,smoother->k); + smoother->sum -= smoother->value; + + return smoother->value; +}; + diff --git a/core/src/fp4816_taylor.c b/core/src/fp4816_taylor.c new file mode 100755 index 0000000..a57b045 --- /dev/null +++ b/core/src/fp4816_taylor.c @@ -0,0 +1,16 @@ +#include + +fp4816_t fp4816_taylor(fp4816_t v,int lev) { + int i; + fp4816_t result = v; + for (i=0;i +#include + +fp4816_t fp4816_taylor_element(fp4816_t v,int lev) { + fp4816_t p; + int lev2p1 = (2*lev)+1; + + p = fp4816_pow( v, lev2p1 ); + p /= ifact(lev2p1); + return p; +}; + + diff --git a/core/src/fp4816_to_a.c b/core/src/fp4816_to_a.c new file mode 100755 index 0000000..44d0d51 --- /dev/null +++ b/core/src/fp4816_to_a.c @@ -0,0 +1,41 @@ +#include + +int fp4816_to_a(char *buffer,fp4816_t v) { + int8_t n = 14; + fp4816_t div = 0x5AF3107A4000LL << 16; + + union { + fp4816_t value; + int32_t i32; + } u; + u.value = v; + if (u.value < 0) { + *(buffer++) = '-'; + u.value = -u.value; + }; + while (n >= 0) { + if (u.value >= div) { + uint8_t digit = u.value / div; + + *(buffer++) = ('0' + digit); + u.value %= div; + } else if (n == 0) { + *(buffer++) = '0'; + }; + div /= 10; + n--; + }; + *(buffer++) = ','; + while (n > -12) { + u.i32 *= 10; + uint8_t digit = u.i32 / (1L<<16); + + u.i32 %= (1L<<16); + + *(buffer++) = '0' + digit; + n--; + }; + *(buffer) = 0x00; + return n; +}; + diff --git a/core/src/fp4816_to_float.c b/core/src/fp4816_to_float.c new file mode 100755 index 0000000..d22970e --- /dev/null +++ b/core/src/fp4816_to_float.c @@ -0,0 +1,27 @@ +#include + +/* +float fp4816_to_float(fp4816_t value) +{ + IEEEFLOAT f = { 0.0f }; + int16_t exp = 35; + uint64_t ui64 = *(uint64_t*)&value; + + if (ui64 & (0x8000000000000000ULL)) + { + f.sign = 1; + ui64 *= -1; + }; + + while ((ui64) && (!(ui64 & (0x8000000000000000ULL)))) + { + (ui64) <<= 1; + exp--; + }; + + f.mantisse = (ui64 >> 41) & 0x007FFFFFULL; + f.exponent = exp + 127; + + return f.f; +}; +*/ \ No newline at end of file diff --git a/core/src/fp4816_to_float_asm.S b/core/src/fp4816_to_float_asm.S new file mode 100755 index 0000000..e3c423b --- /dev/null +++ b/core/src/fp4816_to_float_asm.S @@ -0,0 +1,126 @@ + + +.global fp4816_to_float + + +fp4816_to_float: +; fp4816_t (int64) r18:r25 +; return: float r22:r25 +; +; work: float r12:r15 +; exp r17 + push r17 + push r16 + push r15 + push r14 + push r13 + push r12 + + eor r15, r15 + eor r14, r14 + eor r13, r13 + eor r12, r12 + + cp r18, r1 + cpc r19, r1 + cpc r20, r1 + cpc r21, r1 + cpc r22, r1 + cpc r23, r1 + cpc r24, r1 + cpc r25, r1 + breq _exit + + ldi r17, 0x2f ; 47d + + ; value < 0 : SIGN=1, value * -1 + sbrs r25, 7 + rjmp _l1 + + ldi r16, 0x80 + or r15, r16 + com r25 + com r24 + com r23 + com r22 + com r21 + com r20 + com r19 + com r18 + + ldi r16, 0x01 + add r18, r16 + adc r19, r1 + adc r20, r1 + adc r21, r1 + adc r22, r1 + adc r23, r1 + adc r24, r1 + adc r25, r1 + + +_l1: + ; exponent bestimmen + tst r25 + brne _l2 + + mov r25, r24 + mov r24, r23 + mov r23, r22 + mov r22, r21 + mov r21, r20 + mov r20, r19 + mov r19, r18 + eor r18, r18 + + ldi r16, 0x08 + sub r17, r16 + + rjmp _l1 + +_l2: + mov r16, r25 + andi r16, 0x80 + brne _l3 + + clc + rol r18 + rol r19 + rol r20 + rol r21 + rol r22 + rol r23 + rol r24 + rol r25 + + dec r17 + + rjmp _l2 + +_l3: + ; Mantisse schreiben + mov r12, r23 + mov r13, r24 + mov r14, r25 + ldi r16, 0x7F + and r14, r16 + + ; exponent schreiben + add r17, r16 + ldi r16, 0x80 + sbrc r17, 0 + or r14, r16 + lsr r17 + or r15, r17 + +_exit: + movw r22, r12 + movw r24, r14 + + pop r12 + pop r13 + pop r14 + pop r15 + pop r16 + pop r17 + ret \ No newline at end of file diff --git a/core/src/fp_acos.c b/core/src/fp_acos.c new file mode 100755 index 0000000..6f50cce --- /dev/null +++ b/core/src/fp_acos.c @@ -0,0 +1,19 @@ +#include "hwo/fixpoint.h" + +/* fp_acos() returns: 0..180 */ +fixpoint_t fp_acos(fixpoint_t cos) +{ + if ((cos >= fp_make(1))) + return 0; + if (cos == fp_make(0)) + return fp_make(90); + if (cos == fp_make(-1)) + return fp_make(180); + if (cos > 0) + return fp_make(90) - fp_sin_lookup_reverse(cos); + if (cos < 0) + return fp_make(90) + fp_sin_lookup_reverse(-cos); + return 0; +}; + + diff --git a/core/src/fp_asin.c b/core/src/fp_asin.c new file mode 100755 index 0000000..f26fa25 --- /dev/null +++ b/core/src/fp_asin.c @@ -0,0 +1,18 @@ +#include "hwo/fixpoint.h" + +/* fp_asin() returns: -90..+90 */ +fixpoint_t fp_asin(fixpoint_t sin) +{ + if ((sin == 0) || (sin > fp_make(1))) + return 0; + if (sin == fp_make(1)) + return fp_make(90); + if (sin == fp_make(-1)) + return fp_make(-90); + if (sin > 0) + return fp_sin_lookup_reverse(sin); + if (sin < 0) + return -fp_sin_lookup_reverse(-sin); + return 0; +}; + diff --git a/core/src/fp_normalize_arc.c b/core/src/fp_normalize_arc.c new file mode 100755 index 0000000..a68ecf3 --- /dev/null +++ b/core/src/fp_normalize_arc.c @@ -0,0 +1,18 @@ +#include "hwo/fixpoint.h" + +/* "Normalize" an arc to range 0..360° */ +fixpoint_t fp_normalize_arc(fixpoint_t arc) +{ + fixpoint_t a; + + if ((arc >= 0) && (arc < fp_make(360))) + return arc; + + a = arc % fp_make(360); + + if (a < 0) + return a + fp_make(360); + + return a; +}; + diff --git a/core/src/fp_sin.c b/core/src/fp_sin.c new file mode 100755 index 0000000..5dd89c9 --- /dev/null +++ b/core/src/fp_sin.c @@ -0,0 +1,36 @@ +#include "hwo/fixpoint.h" + +fixpoint_t fp_sin(fixpoint_t arc) +{ + fixpoint_t a = fp_normalize_arc(arc); + + if ((a == 0) || (a == fp_make(180))) + return 0; + else if (a == fp_make(90)) + return fp_make(1); + else if (a == fp_make(270)) + return fp_make(-1); + else + { + if (a < fp_make(90)) + return fp_sin_lookup(a); + if (a < fp_make(180)) + return fp_sin_lookup( fp_make(180) - a ); + if (a < fp_make(270)) + return - fp_sin_lookup( a - fp_make(180) ); + if (a < fp_make(360)) + return - fp_sin_lookup( fp_make(360) - a ); + return 0; + }; +}; + +fixpoint_t fp_cos(fixpoint_t arc) +{ + return fp_sin( arc + fp_make(90)); +}; + +fixpoint_t fp_tan(fixpoint_t arc) +{ + return fp_div( fp_sin(arc), fp_cos(arc) ); +}; + diff --git a/core/src/fp_sin_lookup.c b/core/src/fp_sin_lookup.c new file mode 100755 index 0000000..d28afee --- /dev/null +++ b/core/src/fp_sin_lookup.c @@ -0,0 +1,43 @@ +#include "hwo/fixpoint.h" + +#if ((RAMEND - RAMSTART) >= 102400) // Only with more than 100kB SRAM for now... + +/* Lookup auf sinus tabelle... */ +extern uint32_t __sin090[90<<8]; + +fixpoint_t fp_sin_lookup(fixpoint_t arc090) +{ + int32_t index = (arc090 >> 8); // Lookup Table has index format fixpoint 24.8 + if (index < 0) + return 0; + if (index > (90<<8)) + return 0; + return __sin090[ index ]; +}; + +/* Reverse Lookup auf SINUS Tabelle */ +fixpoint_t fp_sin_lookup_reverse(fixpoint_t sin) +{ + int32_t hi = 0, + index = 0; + + for (hi = 0; __sin090[ hi<<8 ] <= sin ; hi++); + index = hi << 8; + while (__sin090[ index-- ] <= sin); + + return (index << 8); +}; + +#else + +fixpoint_t fp_sin_lookup(fixpoint_t arc090) +{ + return fp_make(0); +}; + +fixpoint_t fp_sin_lookup_reverse(fixpoint_t sin) +{ + return fp_make(0); +}; + +#endif diff --git a/core/src/free_ts.c b/core/src/free_ts.c new file mode 100755 index 0000000..59097b6 --- /dev/null +++ b/core/src/free_ts.c @@ -0,0 +1,10 @@ +#include +#include + +#undef free + +void free_ts(void* ptr) +{ + ATOMIC + free(ptr); +}; \ No newline at end of file diff --git a/core/src/get_csr.c b/core/src/get_csr.c new file mode 100644 index 0000000..fa3c945 --- /dev/null +++ b/core/src/get_csr.c @@ -0,0 +1,10 @@ +#include + + +extern uint8_t _mcucsr; + +uint8_t get_csr(void) +{ + return _mcucsr; +}; + diff --git a/core/src/get_csr_buffer.c b/core/src/get_csr_buffer.c new file mode 100644 index 0000000..28a2c38 --- /dev/null +++ b/core/src/get_csr_buffer.c @@ -0,0 +1,28 @@ +#include +#include +#include + +#include + +#include +#include + +#ifndef MCUCSR + #define MCUCSR MCUSR +#endif + +extern struct avr_eeprom_desc __ee_desc; + +LogCSR *_csrbuffer; + +LogCSR* get_csr_log(void) +{ + if (!_csrbuffer) + { + _csrbuffer = malloc_ts(sizeof(LogCSR)); + eeprom_load(__ee_desc.num_banks-1,&_csrbuffer->eeprom); + }; + return _csrbuffer; +}; + + diff --git a/core/src/getpc.S b/core/src/getpc.S new file mode 100755 index 0000000..82a32b7 --- /dev/null +++ b/core/src/getpc.S @@ -0,0 +1,13 @@ + + +.global getPC + +getPC: + pop r25 + pop r24 + push r24 + push r25 + clc + rol r24 + rol r25 + ret diff --git a/core/src/i2c.c b/core/src/i2c.c new file mode 100644 index 0000000..13d4b7b --- /dev/null +++ b/core/src/i2c.c @@ -0,0 +1,200 @@ +#include +#include + +#include +#include +#include + +#include +#include +#include + +struct i2c i2c; + +#define TWCMD(cmd) TWCR = ((TWCR & 0x0F) | _BV(TWINT) | _BV(TWIE) | cmd) + +static inline void _i2c_send_slave(uint8_t slave) { TWDR = slave; TWCMD( 0 ); }; +static inline void _i2c_send_start(void) { TWCMD( _BV(TWSTA) ); }; +static inline void _i2c_send_restart(void) { TWCMD( _BV(TWSTA) ); }; + +static void _i2c_send_stop(void) { + TWCMD( _BV(TWSTO) ); + if (i2c.owner) + thread_wake(i2c.owner); +}; + +static inline void _i2c_send_byte(uint8_t by) { + TWDR = by; + TWCMD(0); +}; + +void i2c_lock(void) { + mutex_lock(&i2c.mutex); +}; +void i2c_release(void) { + mutex_release(&i2c.mutex); +}; + +void i2c_init(uint32_t clk) +{ + uint32_t twbr = ((__freq_cpu / clk) - 16) / 2; + uint8_t twps = 0; + + while (twbr > 255) + { + twps++; + twbr /= 4; + }; + + TWBR = twbr & 0xff; + TWSR = twps; + TWCR = _BV(TWEN) | _BV(TWIE); + + i2c.clock = clk; + +}; + +int i2c_default_callback(void *p,int n,int ch){ + if (ch == -1) { + if (n >= i2c.length){ + return -1; + }; + return i2c.buffer[ n ]; + } else { + i2c.buffer[ n ] = ch; + + if ((n+2) == i2c.length){ + return I2C_CBR_NACK; + } else if ((n+1) >= i2c.length){ + return I2C_CBR_STOP; + } else { + return I2C_CBR_CONT; + }; + }; +}; + +int i2c_transfer(uint8_t slave,uint8_t *buffer,uint8_t length) +{ + MUTEXED(&i2c.mutex); + + i2c.length = length; + i2c.buffer = buffer; + + return i2c_transfer_ex(slave, i2c_default_callback, NULL); +}; + +int i2c_transfer_ex(uint8_t slave,i2c_callback callback,void *p) +{ + MUTEXED(&i2c.mutex); + + // Warten auf freie Hardware + while (TWCR & 0xF0){ + //wait_ms(1); + yield(); + }; + + i2c.slave = slave; + i2c.ptr = 0; + i2c.error = 0; + i2c.callback= callback; + i2c.p = p; + i2c.owner = current_thread(); + + { + ATOMIC + _i2c_send_start(); + thread_sleep(NULL); + }; + + i2c.owner = NULL; + + return i2c.error ? i2c.error : i2c.ptr; +}; + +void _i2c_cancel(void) +{ + i2c.error = -EFAIL; + _i2c_send_stop(); +}; + +void _i2c_send(void) +{ + int n; + + if (!i2c.callback){ + i2c.error = -ENULLPTR; + _i2c_send_stop(); + } else { + n = i2c.callback( i2c.p, i2c.ptr, -1 ); + if (n<0){ + i2c.error = ESUCCESS; + _i2c_send_stop(); + } else { + i2c.ptr++; + _i2c_send_byte( n & 0xFF ); + }; + }; +}; + +void _i2c_recv(void) +{ + int ch = TWDR; + + if (!i2c.callback){ + i2c.error = -ENULLPTR; + _i2c_send_stop(); + } else { + ch = i2c.callback( i2c.p, i2c.ptr, ch ); + i2c.ptr++; + + switch (ch){ + case I2C_CBR_CONT: + TWCMD(_BV(TWEA)); + break; + case I2C_CBR_NACK: + TWCMD(0); + break; + case I2C_CBR_STOP: + i2c.error = ESUCCESS; + _i2c_send_stop(); + break; + default: + i2c.error = -EPARAM; + _i2c_send_stop(); + break; + }; + }; +}; + +VECT(TWI_vect){ + switch (TWSR & 0xF8) + { + case 0x08: // START sent 0b00001000 + case 0x10: // Repeated START sent 0b00010000 + _i2c_send_slave( i2c.slave ); + break; + case 0x18: // SLA+W sent + ACK 0b00011000 + case 0x28: // Data sent + ACK 0b00101000 + _i2c_send(); + break; + case 0x20: // SLA+W sent + N-ACK 0b00100000 + case 0x30: // Data sent + N-ACK 0b00110000 + case 0x38: // ARB LOST / SLA+R N-ACK 0b00111000 + case 0x48: // SLA+R N-ACK 0b01001000 + _i2c_cancel(); + break; + case 0x40: // SLA+R ACK + TWCMD(_BV(TWEA)); + break; + case 0x50: // DATA rcvd + ACK + _i2c_recv(); + break; + case 0x58: // Data rcvd + NACK + _i2c_recv(); + break; + default: + _i2c_cancel(); + i2c.error = -EUNKNOWN; + break; + }; +}; diff --git a/core/src/i2cee_define_file.c b/core/src/i2cee_define_file.c new file mode 100755 index 0000000..a76e490 --- /dev/null +++ b/core/src/i2cee_define_file.c @@ -0,0 +1,79 @@ +#include +#include +#include + +struct i2cee_fastfile { + fastfile_t fastfile; + + int32_t offset, + size, + position; +}; + +int i2cee_ff_seek (fastfile_t *ff,int position){ + struct i2cee_fastfile *f = (struct i2cee_fastfile*)ff; + if ((position >= 0) && (position < f->size)){ + f->position = position; + return ESUCCESS; + }; + return -ESHORT; +}; + +int i2cee_ff_tell (fastfile_t *ff){ + struct i2cee_fastfile *f = (struct i2cee_fastfile*)ff; + return f->position; +}; + +int i2cee_ff_read (fastfile_t *ff,void *buffer,int len){ + struct i2cee_fastfile *f = (struct i2cee_fastfile*)ff; + if (!buffer){ + return -ENULLPTR; + }; + if (f->position + len > f->size){ + len = f->size - f->position; + }; + len = i2cee_load( f->offset + f->position, buffer, len ); + assert(len); + + f->position += len; + return len; +}; + +int i2cee_ff_write (fastfile_t *ff,void *buffer,int len){ + struct i2cee_fastfile *f = (struct i2cee_fastfile*)ff; + if (!buffer){ + return -ENULLPTR; + }; + if (f->position + len > f->size){ + len = f->size - f->position; + }; + len = i2cee_save( f->offset + f->position, buffer, len ); + assert(len); + + f->position += len; + return len; +}; + +int i2cee_ff_close (fastfile_t *ff){ + return ESUCCESS; +}; + + +fastfile_t* i2cee_define_file(int32_t offset,int32_t size){ + struct i2cee_fastfile *f = (struct i2cee_fastfile*)malloc( sizeof( struct i2cee_fastfile) ); + if (!f){ + return NULL; + }; + + memset(f, 0x00, sizeof( *f ) ); + + f->fastfile.ops.seek = i2cee_ff_seek; + f->fastfile.ops.tell = i2cee_ff_tell; + f->fastfile.ops.read = i2cee_ff_read; + f->fastfile.ops.write = i2cee_ff_write; + f->fastfile.ops.close = i2cee_ff_close; + + return & (f->fastfile); +}; + + diff --git a/core/src/i2cee_identify.c b/core/src/i2cee_identify.c new file mode 100755 index 0000000..0a6f5e3 --- /dev/null +++ b/core/src/i2cee_identify.c @@ -0,0 +1,75 @@ +#include +#include + +#include + +#include +#include + +struct _i2cee i2cee; + +int32_t eeptr; +int32_t eevalue; +int32_t eestatus; + + +void i2cee_identify(void){ + uint8_t i; + uint8_t buffer[4]; + uint16_t result; + + for (i=0;i<8;i++){ + buffer[0] = 0x00; + buffer[1] = 0x00; + + result = (i2c_transfer( 0xA0 + (i<<1), buffer, 2 )); + if (result == 2){ + i2cee.emask |= (1<flags.read){ + switch (telegram->regno){ + case 0x9000: + telegram->i32 = i2cee_size(); + return 0; + case 0x9001: + telegram->i32 = i2cee.emask; + return 0; + + case 0x9010: + telegram->i32 = eeptr; + return 0; + case 0x9011: + telegram->i32 = eevalue; + return 0; + case 0x9012: + telegram->i32 = eestatus; + return 0; + }; + } else { + switch (telegram->regno){ + case 0x9010: + eeptr = telegram->i32; + i2cee_load(eeptr,&eevalue,4); + return 0; + case 0x9011: + eevalue = telegram->i32; + eestatus = i2cee_save(eeptr,&eevalue,4); + return 0; + case 0x9012: + return 0; + }; + }; + + return -1; +}; + + + + + diff --git a/core/src/i2cee_load.c b/core/src/i2cee_load.c new file mode 100755 index 0000000..8f4f312 --- /dev/null +++ b/core/src/i2cee_load.c @@ -0,0 +1,52 @@ +#include +#include + +#include +#include + +#define DEVICE(x) ((x >> 16)&0x07) +#define PAGE(x) (x >> 7) +#define PAGEBASE(x) (x & 0xFF80) +#define PAGEOFFSET(x) (x & 0x007F) + +int i2cee_load(int32_t base,void *p,int16_t len){ + uint8_t *b = p; + uint16_t ilen,slen; + int r; + int32_t offset = base; + + MUTEXED(&i2c.mutex); + + uint8_t off8[2]; + + slen = 0; + + while (len > 0){ + if (!(i2cee.emask & (1< len) { + ilen = len; + }; + + off8[0] = (offset>>8) & 0xFF; + off8[1] = (offset) & 0xFF; + + + r = noassert( i2c_transfer( (0xA0 + (DEVICE(offset) << 1)), off8, 2 ) ); + if (r != 2) + return -EFAIL; + + r = noassert( i2c_transfer( (0xA0 + (DEVICE(offset) << 1)) | 1, b, ilen ) ); + if (r != ilen){ + return r; + }; + + len -= ilen; + b += ilen; + offset += ilen; + slen += ilen; + }; + return slen; +}; diff --git a/core/src/i2cee_save.c b/core/src/i2cee_save.c new file mode 100755 index 0000000..5dc1daf --- /dev/null +++ b/core/src/i2cee_save.c @@ -0,0 +1,88 @@ +#include +#include +#include + +#include + +#include +#include + +#define DEVICE(x) ((x >> 16)&0x07) +#define PAGE(x) (x >> 7) +#define PAGEBASE(x) (x & 0xFF80) +#define PAGEOFFSET(x) (x & 0x007F) + +struct i2cee_state { + uint16_t offset; + uint16_t len; + uint8_t *p; +}; + +static int i2cee_save_cb(void *p,int n,int ch){ + switch (n){ + case 0: + return (((struct i2cee_state*)p)->offset >> 8) & 0xFF; + case 1: + return (((struct i2cee_state*)p)->offset) & 0xFF; + default: + if ( (n-2) < ((struct i2cee_state*)p)->len ) + return ((struct i2cee_state*)p)->p[n-2]; + return -1; + }; +}; + +int i2cee_save(int32_t base,void *p,int16_t len){ + uint8_t *b = p; + uint16_t ilen,slen; + int32_t offset = base; + struct i2cee_state + state; + uint8_t n; + int r; + + MUTEXED(&i2c.mutex); + + slen = 0; + + while (len){ + + if (!(i2cee.emask & (1< len) { + ilen = len; + }; + + state.offset = offset; + state.len = ilen; + state.p = b; + + r = i2c_transfer_ex( 0xA0 + (DEVICE(offset) << 1), i2cee_save_cb, &state); + noassert(r); + + if ((r >= 0) && (r != (ilen+2))){ + return -ESHORT; + }; + + for (n=0;n<10;n++){ + r = i2c_transfer( 0xA0 + (DEVICE(offset) << 1), (void*)&offset, 2); + if (r >= 0) { + break; + } else if (r == -EFAIL) { + wait_ms(1); + continue; + } else { + noassert(r); + return r; + }; + }; + assert(r); + + len -= ilen; + b += ilen; + offset += ilen; + slen += ilen; + }; + return slen; +}; \ No newline at end of file diff --git a/core/src/i2cee_size.c b/core/src/i2cee_size.c new file mode 100755 index 0000000..dd7bfb9 --- /dev/null +++ b/core/src/i2cee_size.c @@ -0,0 +1,5 @@ +#include + +int32_t i2cee_size(void){ + return i2cee.size; +}; \ No newline at end of file diff --git a/core/src/i2ceeprom.c b/core/src/i2ceeprom.c new file mode 100755 index 0000000..e69de29 diff --git a/core/src/ifact.c b/core/src/ifact.c new file mode 100755 index 0000000..386d1a3 --- /dev/null +++ b/core/src/ifact.c @@ -0,0 +1,9 @@ +#include + +int64_t ifact(int n) { + int64_t r = 1; + while (n > 1) { + r *= (n--); + }; + return r; +}; diff --git a/core/src/log_csr.c b/core/src/log_csr.c new file mode 100644 index 0000000..7f89999 --- /dev/null +++ b/core/src/log_csr.c @@ -0,0 +1,104 @@ +#include +#include +#include + +#include +#include + + +#include +#include + +#ifndef MCUCSR + #define MCUCSR MCUSR +#endif + +extern struct avr_eeprom_desc __ee_desc; +uint8_t _mcucsr; + + +void log_csr(void) +{ + LogCSR *log = malloc(sizeof(LogCSR)); + + wdt_reset(); + + if (log) + { + eeprom_load(__ee_desc.num_banks-1,&log->eeprom); + if (log->wp >= 0x10) + log->wp = 0x00; + _mcucsr = log->mcucsr[log->wp] = MCUCSR; + if (!MCUCSR) + _mcucsr = log->mcucsr[log->wp] |= 0x80; + log->wp++; + + MCUCSR = 0x00; + + wdt_reset(); + eeprom_save(__ee_desc.num_banks-1,&log->eeprom); + + free(log); + + if (_mcucsr & 0x80) + { + ATOMIC + wdt_enable(WDTO_250MS); + while (1); + }; + + }; + +}; + +#if defined(DEBUG_BADIRQ) + +void __bad_irq(uint16_t ret){ + LogCSR *log = malloc(sizeof(LogCSR)); + + wdt_reset(); + + eeprom_load(__ee_desc.num_banks-1,&log->eeprom); + if (log->wp >= 0x10) + log->wp = 0x00; + + _mcucsr = log->mcucsr[log->wp] = 0xAA; + log->wp++; + _mcucsr = log->mcucsr[log->wp] = 0x55; + log->wp++; + _mcucsr = log->mcucsr[log->wp] = SREG; + log->wp++; + _mcucsr = log->mcucsr[log->wp] = ret & 0xFF; + log->wp++; + _mcucsr = log->mcucsr[log->wp] = (ret >> 8) & 0xff; + log->wp++; + _mcucsr = log->mcucsr[log->wp] = 0xAA; + log->wp++; + + wdt_reset(); + + eeprom_save(__ee_desc.num_banks-1,&log->eeprom); + + free(log); + + { + ATOMIC + wdt_enable(WDTO_250MS); + while (1); + }; +} + +ISR(BADISR_vect) +{ + intptr_t sp = SP; + uint16_t r; + + sp += 4; + r = ((*(char*)sp)<<8)|((*(char*)sp+1)); + r <<= 1; + + __bad_irq(r); +}; + +#endif + diff --git a/core/src/malloc_ts.c b/core/src/malloc_ts.c new file mode 100644 index 0000000..8a77ef5 --- /dev/null +++ b/core/src/malloc_ts.c @@ -0,0 +1,21 @@ +#include +#include + +#undef malloc + +void _dbg_trace_oom(void) __attribute__(( weak )); + + +void* malloc_ts(size_t size) +{ + ATOMIC + void *ptr = malloc(size); + +#if defined(DEBUG_MALLOC) + if ((!ptr) && (_dbg_trace_oom)){ + _dbg_trace_oom(); + }; +#endif + + return ptr; +}; \ No newline at end of file diff --git a/core/src/mutex_lock.c b/core/src/mutex_lock.c new file mode 100755 index 0000000..ed02e8c --- /dev/null +++ b/core/src/mutex_lock.c @@ -0,0 +1,51 @@ +#include +#include +#include +#include + +#include + +APICALL mutex_lock(MUTEX *mutex) +{ + if (!mutex) + return -1; + + while (1) + { + { + ATOMIC + + if ((mutex->thread == NULL) || (mutex->thread == current_thread())) + { + mutex->thread = current_thread(); + mutex->locked++; + + return 0; + }; + }; + wait_ms(0); + }; +}; + +APICALL mutex_lock_timeout(MUTEX *mutex,int32_t timeout){ + systick_t timeend = systick_ticks() + timeout; + + if (!mutex) + return -1; + + while ( (timeout == -1) || (systick_ticks() < timeend) ){ + { + ATOMIC + + if (((volatile avrThread*)mutex->thread == NULL) || ((volatile avrThread*)mutex->thread == (volatile avrThread*)current_thread())) + { + mutex->thread = current_thread(); + mutex->locked++; + return 0; + }; + }; + wait_ms(0); + }; + return -ETIMEOUT; +}; + diff --git a/core/src/mutex_lock_indirect.c b/core/src/mutex_lock_indirect.c new file mode 100755 index 0000000..8fc03c3 --- /dev/null +++ b/core/src/mutex_lock_indirect.c @@ -0,0 +1,9 @@ +#include + +MUTEX* mutex_lock_indirect(volatile MUTEX *mutex) +{ + mutex_lock((MUTEX*)mutex); + return (MUTEX*)mutex; +}; + + diff --git a/core/src/mutex_release.c b/core/src/mutex_release.c new file mode 100755 index 0000000..4947558 --- /dev/null +++ b/core/src/mutex_release.c @@ -0,0 +1,24 @@ +#include +#include +#include + +#include + +extern avrThread* _thread_current; + +APICALL mutex_release(MUTEX *mutex) +{ + ATOMIC + if (mutex && mutex->locked && (mutex->thread == current_thread())) + { + mutex->locked--; + if (mutex->locked == 0) + { + mutex->thread = NULL; + }; + return 0; + }; + return -EBUSY; +}; + + diff --git a/core/src/mutex_release_indirect.c b/core/src/mutex_release_indirect.c new file mode 100755 index 0000000..6732403 --- /dev/null +++ b/core/src/mutex_release_indirect.c @@ -0,0 +1,6 @@ +#include + +void mutex_release_indirect(volatile MUTEX **mutex) +{ + mutex_release((MUTEX*)*mutex); +}; diff --git a/core/src/mutex_try_lock.c b/core/src/mutex_try_lock.c new file mode 100755 index 0000000..5872962 --- /dev/null +++ b/core/src/mutex_try_lock.c @@ -0,0 +1,25 @@ +#include +#include + +#include + +extern avrThread* _thread_current; + +uint8_t mutex_try_lock(MUTEX *mutex) +{ + if (!mutex) + return 0; + + { + ATOMIC + + if ((mutex->thread == NULL) || (mutex->thread == current_thread())) + { + mutex->thread = current_thread(); + mutex->locked++; + return -1; + }; + }; + + return 0; +}; diff --git a/core/src/outputs.c b/core/src/outputs.c new file mode 100644 index 0000000..41a91b4 --- /dev/null +++ b/core/src/outputs.c @@ -0,0 +1,134 @@ +#include + +#include +#include +#include + +#include + +#include + +struct { + MUTEX mutex; + int len; + digout_t* defs; +} _sys_outputs; + +void outputs_init(digout_t *outputs,int len){ + ATOMIC + MUTEXED(&_sys_outputs.mutex); + +#if 0 + if (len % sizeof(struct _protected_output)){ + _sys_outputs.defs = NULL; + _sys_outputs.len = 0; + } else { +#endif + _sys_outputs.defs = outputs; + _sys_outputs.len = len / sizeof(struct _protected_output); +#if 0 + }; +#endif + +}; + +int8_t outputs_num(void){ + MUTEXED(&_sys_outputs.mutex); + return _sys_outputs.len; +}; + +void output_on(int no){ + MUTEXED(&_sys_outputs.mutex); + if (no < _sys_outputs.len){ + ATOMIC + + if (_sys_outputs.defs[no].features & POF_TRIGGER_ON){ + + if (_sys_outputs.defs[no].inverse & POF_TRIGGER_ON){ + trigger_neg( _sys_outputs.defs[no].reg_on, _sys_outputs.defs[no].bit_on); + } else { + trigger_pos( _sys_outputs.defs[no].reg_on, _sys_outputs.defs[no].bit_on); + }; + + } else if (_sys_outputs.defs[no].features & POF_SET_ON){ + + if (_sys_outputs.defs[no].inverse & POF_SET_ON){ + *_sys_outputs.defs[no].reg_on &= ~(1 << _sys_outputs.defs[no].bit_on); + } else { + *_sys_outputs.defs[no].reg_on |= (1 << _sys_outputs.defs[no].bit_on); + }; + + }; + + _sys_outputs.defs[no].status = POS_CTRL_ON; + }; +}; + +void output_off(int no){ + MUTEXED(&_sys_outputs.mutex); + if (no < _sys_outputs.len){ + ATOMIC + + if (_sys_outputs.defs[no].features & POF_TRIGGER_OFF){ + + if (_sys_outputs.defs[no].inverse & POF_TRIGGER_OFF) { + trigger_neg( _sys_outputs.defs[no].reg_off, _sys_outputs.defs[no].bit_off); + } else { + trigger_pos( _sys_outputs.defs[no].reg_off, _sys_outputs.defs[no].bit_off); + }; + + } else if (_sys_outputs.defs[no].features & POF_SET_OFF) { + + if (_sys_outputs.defs[no].inverse & POF_SET_OFF){ + *_sys_outputs.defs[no].reg_off |= (1 << _sys_outputs.defs[no].bit_off); + } else { + *_sys_outputs.defs[no].reg_off &= ~(1 << _sys_outputs.defs[no].bit_off); + }; + + }; + _sys_outputs.defs[no].status = POS_CTRL_OFF; + }; +}; + +int32_t output_read(int no){ + MUTEXED(&_sys_outputs.mutex); + if (no < _sys_outputs.len){ + return _sys_outputs.defs[no].status; + }; + return 0; +}; + +void output_failed_overcurrent(int no){ + MUTEXED(&_sys_outputs.mutex); + if (no < _sys_outputs.len){ + output_off(no); + _sys_outputs.defs[no].status |= POS_OVERCURRENT; + }; +}; + +fp4816_t output_current (int no){ + MUTEXED(&_sys_outputs.mutex); + if (no < _sys_outputs.len){ + + if (_sys_outputs.defs[no].features & POF_SENS_OC){ + + fp4816_t i = fp4816_mul( + fp4816_add( + adc_value( _sys_outputs.defs[no].sens_chan), + _sys_outputs.defs[no].sens_offset + ), + _sys_outputs.defs[no].sens_scale + ); + return i; + }; + }; + return 0; +}; + + + + + + + + diff --git a/core/src/pipe.c b/core/src/pipe.c new file mode 100755 index 0000000..6f03c10 --- /dev/null +++ b/core/src/pipe.c @@ -0,0 +1,80 @@ +#include +#include +#include + +#include +#include +#include + +FILE* pipe(int size) +{ + fdPIPE* stream; + stream = (fdPIPE*)fdev_create(sizeof(PIPE),(fdevput)pipe_put,(fdevget)pipe_get,NULL,NULL); + if (!stream) + { + return NULL; + }; + + stream->pipe.size = size; + stream->pipe.buffer = malloc(size); + if (!stream->pipe.buffer) + { + free(stream); + return NULL; + }; + + return (FILE*)stream; +}; + +int pipe_get(FILE* stream) +{ + ATOMIC + int c; + + if (pipe_empty( stream ) ) + { + if (fdPIPE(stream)->pipe.options & IO_BLOCK_RD) + { + fdPIPE(stream)->pipe.wait_get = current_thread(); + thread_sleep(current_thread()); + fdPIPE(stream)->pipe.wait_get = NULL; + } else + return -1; + }; + + c = fdPIPE(stream)->pipe.buffer[ fdPIPE(stream)->pipe.read++ ]; + + if (fdPIPE(stream)->pipe.read == fdPIPE(stream)->pipe.size) + fdPIPE(stream)->pipe.read = 0; + + if (fdPIPE(stream)->pipe.wait_put) + thread_wake( fdPIPE(stream)->pipe.wait_put ); + + return c; +}; + +int pipe_put(char c,FILE* stream) +{ + ATOMIC + + if (pipe_full( stream ) ) + { + if (fdPIPE(stream)->pipe.options & IO_BLOCK_WR) + { + fdPIPE(stream)->pipe.wait_put = current_thread(); + thread_sleep(current_thread()); + fdPIPE(stream)->pipe.wait_put = NULL; + } else + return -1; + }; + + fdPIPE(stream)->pipe.buffer[ fdPIPE(stream)->pipe.write++ ] = c; + if (fdPIPE(stream)->pipe.write == fdPIPE(stream)->pipe.size) + fdPIPE(stream)->pipe.write = 0; + + if (fdPIPE(stream)->pipe.wait_get) + thread_wake( fdPIPE(stream)->pipe.wait_get ); + + return 0; +}; + diff --git a/core/src/pipe_clear.c b/core/src/pipe_clear.c new file mode 100755 index 0000000..bbfdcd4 --- /dev/null +++ b/core/src/pipe_clear.c @@ -0,0 +1,13 @@ +#include +#include +#include + +#include +#include + +int pipe_clear(FILE* pipe) +{ + fdPIPE(pipe)->pipe.read = 0; + fdPIPE(pipe)->pipe.write = 0; + return 0; +}; \ No newline at end of file diff --git a/core/src/pipe_empty.c b/core/src/pipe_empty.c new file mode 100755 index 0000000..2104390 --- /dev/null +++ b/core/src/pipe_empty.c @@ -0,0 +1,7 @@ +#include +#include +#include + +#include +#include + diff --git a/core/src/pipe_full.c b/core/src/pipe_full.c new file mode 100755 index 0000000..64417df --- /dev/null +++ b/core/src/pipe_full.c @@ -0,0 +1,6 @@ +#include +#include +#include + +#include +#include diff --git a/core/src/pipe_options.c b/core/src/pipe_options.c new file mode 100755 index 0000000..4262477 --- /dev/null +++ b/core/src/pipe_options.c @@ -0,0 +1,13 @@ +#include +#include +#include + +#include +#include + + +int pipe_options(FILE* pipe,uint8_t options) +{ + fdPIPE(pipe)->pipe.options = options; + return 0; +}; diff --git a/core/src/rb2_api_rx.c b/core/src/rb2_api_rx.c new file mode 100644 index 0000000..38df5cc --- /dev/null +++ b/core/src/rb2_api_rx.c @@ -0,0 +1,16 @@ +#include + +/** + * @brief + * @param telegram + * \callgraph + * \callergraph + */ +void rb2_api_rx(rb2_telegram_buffer_t *telegram) +{ + if (telegram->telegram.flags.response){ // Ist Antwort + rb2_handle_response( telegram ); + } else { // Ist Anfrage + rb2_handle_request( telegram ); + }; +}; diff --git a/core/src/rb2_clean_pending.c b/core/src/rb2_clean_pending.c new file mode 100644 index 0000000..b026612 --- /dev/null +++ b/core/src/rb2_clean_pending.c @@ -0,0 +1,27 @@ +#include + +/* +void rb2_clean_pending(void) +{ + list_t *p,*t; + cpustate_t save; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &save ); + + for_each_list_entry_save(p,t,&((&__rb2_instance)->queues.pending)) + { + RB2_REQUEST* r = list_entry(p,RB2_REQUEST,list); + if (wait_async_test(&(r->timeout))) + { + list_remove( p ); + + r->telegram.i32 = 0; + thread_wake(r->waiter); + } else { // younger requests will not be timed out + break; + } + }; + + spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &save ); +}; +*/ diff --git a/core/src/rb2_convert.c b/core/src/rb2_convert.c new file mode 100644 index 0000000..6596e76 --- /dev/null +++ b/core/src/rb2_convert.c @@ -0,0 +1,78 @@ +#include +#include + +#include + +void rb2_convert (uint8_t srctype,void *src,uint8_t dsttype, void *dst) +{ + uint8_t rawstype, + rawdtype; + + BITS32 b32; + + rawstype = srctype & 0x0F; + rawdtype = dsttype & 0x0F; + + b32.i32 = *(int32_t*)src; + + if (srctype & RDT_8BIT) + b32.i32 &= 0x000000FF; + else if (srctype & RDT_16BIT) + b32.i32 &= 0x0000FFFF; + + if (rawstype != rawdtype) { + if (rawstype == RDT_INT32) { + switch (rawdtype) + { + case RDT_FLOAT: + b32.f32 = fp4816_to_float( fp4816_from_int32(b32.i32) ); + break; + case RDT_FP4816: + (*(fp4816_t*)dst) = fp4816_from_int32(b32.i32); + return; + case RDT_FP1616: + (*(fp1616_t*)dst).value = fp4816_from_int32(b32.i32); + return; + }; + } else if (rawstype == RDT_FLOAT) { + switch (rawdtype) + { + case RDT_INT32: + b32.i32 = b32.f32; + break; + case RDT_FP4816: + (*(fp4816_t*)dst) = fp4816_from_float(b32.f32); + return; + case RDT_FP1616: + (*(fp1616_t*)dst).value = fp4816_from_float(b32.f32); + return; + }; + } else if (rawstype == RDT_FP4816) { + switch (rawdtype) + { + case RDT_INT32: + b32.i32 = fp4816_to_int32(*(fp4816_t*)src); + break; + case RDT_FLOAT: + b32.f32 = fp4816_to_float( *(fp4816_t*)src ); + break; + }; + } else if (rawstype == RDT_FP1616) { + switch (rawdtype){ + case RDT_INT32: + b32.i32 = (*(fp1616_t*)src).value; + break; + case RDT_FLOAT: + b32.f32 = fp4816_to_float( fp4816_from_1616( (*(fp1616_t*)src) ) ); + break; + }; + }; + }; + + if (dsttype & RDT_8BIT) + *(int8_t*)dst = b32.i8[0]; + else if (dsttype & RDT_16BIT) + *(int16_t*)dst = b32.i16[0]; + else + *(int32_t*)dst = b32.i32; +}; diff --git a/core/src/rb2_create_usart_link.c b/core/src/rb2_create_usart_link.c new file mode 100644 index 0000000..f2fa5e8 --- /dev/null +++ b/core/src/rb2_create_usart_link.c @@ -0,0 +1,290 @@ +#include +#include +#include +#include + +#include +#include +#include + +#include + +#define RB2_USART_MAX_LINKS 2 + +int32_t _dbg_rb2_usart_sync, + _dbg_rb2_usart_sync_min = 0x7FFFFFFFl, + _dbg_rb2_usart_sync_max; +int32_t _dbg_rb2_usart_txtele, + _dbg_rb2_usart_rxtele; + + +rb2_telegram_buffer_t* + rb2_usart_recv (RB2_LINK *link); +uint8_t rb2_usart_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram); + +RB2_LINK* rb2_create_usart_link(uint8_t _usart) { + ATOMIC + + RB2_USART_LINK *link = malloc( sizeof(RB2_USART_LINK) ); + if (link){ + memset(link, 0x00, sizeof(RB2_USART_LINK)); + + link->usart = _usart; + + list_init( &link->received ); + list_init( &link->send ); + + link->link.send = rb2_usart_send; + link->link.receive = rb2_usart_recv; + + rb2_link_add( &(link->link) ); + }; + return &link->link; +}; + +#if defined(__USART_BUFFER__) // buffer based i/o + +int rb2_usart_buffers(RB2_USART_LINK *link){ + + if (link->rx && (usart_rx_done(link->usart) == 0)){ + int n = 0; + CHKSUM chk; + + if (link->rx->bytes[0] != RB2_MAGIC){ + n = 1; + } else { + chksum( &chk, link->rx->bytes, sizeof(rb2_telegram_t) - 2 ); + if ( (chk.combined != link->rx->telegram.chksum.combined)){ + n = 1; + }; + }; + + if (n) + while ( (n < sizeof(rb2_telegram_t)) && (link->rx->bytes[n] != RB2_MAGIC) ){ + n++; + }; + + if (n){ + uint8_t l = 0; //sizeof(rb2_telegram_t) - n; + + _dbg_rb2_usart_sync = *(int32_t*)&link->rx->telegram; + + while (n < sizeof(rb2_telegram_t)){ + link->rx->bytes[l] = link->rx->bytes[n]; + l++; n++; + }; + + usart_rx( link->usart, &(link->rx->telegram), n); + } else { + usart_rx( link->usart, NULL, 0 ); + list_append( &(link->rx->list), &(link->received) ); + link->rx = NULL; + }; + }; + + if (!link->rx){ + link->rx = rb2_pool_pop(); + if (link->rx){ + usart_rx( link->usart, &(link->rx->telegram), sizeof(rb2_telegram_t) ); + }; + }; + + if (link->tx && (usart_tx_done( link->usart ) <= 0)){ + usart_tx( link->usart, NULL, 0 ); + rb2_pool_push(link->tx); + link->tx = NULL; + }; + + if (!link->tx){ + link->tx = list_first_entry( &(link->send), rb2_telegram_buffer_t, list ); + if (link->tx){ + list_remove( &(link->tx->list) ); + usart_tx( link->usart, &(link->tx->telegram), sizeof(rb2_telegram_t) ); + }; + }; + + return ESUCCESS; +}; + +uint8_t rb2_usart_send(RB2_LINK *link,rb2_telegram_buffer_t *telegram) { + telegram->telegram.magic = RB2_MAGIC; + chksum( &(telegram->telegram.chksum), &(telegram->telegram), sizeof(RB2_TELEGRAM) - 2 ); + + { + ATOMIC + list_append( &telegram->list, &(RB2_USART_LINK(link)->send) ); + } + + return rb2_usart_buffers( RB2_USART_LINK(link) ); +}; + +rb2_telegram_buffer_t* rb2_usart_recv(RB2_LINK *l){ + ATOMIC + RB2_USART_LINK *link = RB2_USART_LINK(l); + rb2_telegram_buffer_t *tele; + + rb2_usart_buffers(link); + + tele = list_first_entry(&(link->received),rb2_telegram_buffer_t,list); + if (tele){ + list_remove(&tele->list); + return tele; + }; + + return NULL; +}; + +#else // fifo based i/o + + uint8_t rb2_usart_send(RB2_LINK *l,rb2_telegram_buffer_t *telegram) { + int n = 0; + RB2_USART_LINK + *link = RB2_USART_LINK(l); + + telegram->telegram.magic = RB2_MAGIC; + chksum( &(telegram->telegram.chksum), &(telegram->telegram), sizeof(RB2_TELEGRAM) - 2 ); + + while (n < sizeof(rb2_telegram_t)){ + if (usart_write( link->usart, telegram->bytes[ n ] ) < 0){ + wait_ms(4); + } else { + n++; + }; + }; + + _dbg_rb2_usart_txtele++; + + rb2_pool_push( telegram ); + + return -EFAIL; + }; + + rb2_telegram_buffer_t* rb2_usart_recv(RB2_LINK *l){ + ATOMIC + RB2_USART_LINK *link = RB2_USART_LINK(l); + + if (!link->rx){ + link->rx = rb2_pool_pop(); + link->rxptr = 0; + }; + + if (link->rx){ + int ch; + CHKSUM chk; + + while ( (ch = usart_read( link->usart )) >= 0 ){ + link->rx->bytes[ link->rxptr++ ] = ch; + + if (link->rx->bytes[ 0 ] != RB2_MAGIC){ + link->rxptr = 0; + } else if (link->rxptr == sizeof(rb2_telegram_t)){ + chksum( &chk, link->rx->bytes, sizeof(rb2_telegram_t) - 2 ); + if (chk.combined == link->rx->telegram.chksum.combined){ + rb2_telegram_buffer_t *rt = link->rx; + link->rx = NULL; + + _dbg_rb2_usart_rxtele++; + + return rt; + } else { + uint8_t p = 0; + link->rxptr = 0; + while (((++p) < sizeof(rb2_telegram_t)) && (link->rx->bytes[p] != RB2_MAGIC) ); + + _dbg_rb2_usart_sync += p; + _dbg_rb2_usart_sync -= (_dbg_rb2_usart_sync >> 3); + + if (_dbg_rb2_usart_sync_min > p){ + _dbg_rb2_usart_sync_min = p; + }; + if (_dbg_rb2_usart_sync_max < p){ + _dbg_rb2_usart_sync_max = p; + }; + + while (p < sizeof(rb2_telegram_t)){ + link->rx->bytes[link->rxptr++] = link->rx->bytes[p++]; + }; + }; + }; + }; + + }; + return NULL; + }; + +#endif + +/* +int rb2_usart_irq_recvd_char(USART *usart,int ch){ + RB2_USART_LINK *link = link_for_usart(usart); + + if (link){ + + if (link->rx == NULL){ + link->rx = rb2_pool_pop_irq(); + link->rxptr = 0; + }; + + if (link->rx){ + link->rx->bytes[ link->rxptr++ ] = ch; + + if (link->rxptr == 1){ + if (link->rx->bytes[0] != RB2_MAGIC){ + link->rxptr = 0; + }; + } else if (link->rxptr == sizeof(RB2_TELEGRAM)){ + CHKSUM chk; + chksum( &chk, link->rx->bytes, sizeof(RB2_TELEGRAM) - 2 ); + + if (chk.combined == link->rx->telegram.chksum.combined){ + link->rx->link = &link->link; + + if (_dbg_trace_rb2_usart_rx) + _dbg_trace_rb2_usart_rx(link->rx); + + list_append( &(link->rx->list), &(link->received) ); + link->rx = NULL; + }; + link->rxptr = 0; + }; + }; + }; + + return 0; +}; + +int rb2_usart_irq_needs_char(USART *usart){ + RB2_USART_LINK *link = link_for_usart(usart); + + if (link){ + if (!link->tx){ + link->tx = list_first_entry(&(link->send),rb2_telegram_buffer_t,list); + if (link->tx){ + list_remove(&(link->tx->list)); + }; + link->txptr = 0; + }; + + if (link->tx){ + if (link->txptr >= sizeof(RB2_TELEGRAM)){ // Telegram versendet, Puffer freimachen + + if (_dbg_trace_rb2_usart_tx) + _dbg_trace_rb2_usart_tx(link->tx); + + rb2_pool_push( link->tx ); + + link->txptr = 0; + link->tx = list_first_entry(&link->send,rb2_telegram_buffer_t,list); + if (link->tx){ + list_remove(&link->tx->list); + } else { + return -1; + } + }; + return link->tx->bytes[link->txptr++]; + }; + }; + return -1; +}; + +*/ \ No newline at end of file diff --git a/core/src/rb2_default_register_proc.c b/core/src/rb2_default_register_proc.c new file mode 100755 index 0000000..ff762f6 --- /dev/null +++ b/core/src/rb2_default_register_proc.c @@ -0,0 +1,19 @@ +#include + +#include +#include + +uint8_t rb2_default_register_proc(RB2_REGISTER *reg,RB2_TELEGRAM *telegram) { + if (telegram->flags.read) { + if (telegram->flags.type == RDT_FP4816) + telegram->flags.type = RDT_FLOAT; + + rb2_convert( reg->register_type, reg->ptr, telegram->flags.type, &(telegram->i32) ); + return 0; + } else { + rb2_convert( telegram->flags.type, &(telegram->i32), reg->register_type, reg->ptr ); + return 0; + }; + + return -1; +}; diff --git a/core/src/rb2_handle_request.c b/core/src/rb2_handle_request.c new file mode 100644 index 0000000..11dc0b5 --- /dev/null +++ b/core/src/rb2_handle_request.c @@ -0,0 +1,66 @@ +#include + + +#include + +void rb2_handle_request(rb2_telegram_buffer_t *telegram) +{ + list_t *segment; + RB2_PROXY *proxy; + uint8_t temp; + + if (!telegram) + return; + + proxy = rb2_get_proxy( telegram->telegram.receiver.node ); + + temp = telegram->telegram.sender.addr; + telegram->telegram.sender.addr = telegram->telegram.receiver.addr; + telegram->telegram.receiver.addr = temp; + telegram->telegram.flags.response = 1; + + if (proxy) { + if (proxy->register_node_proc != NULL){ + + temp = telegram->telegram.flags.type; + + telegram->telegram.flags.fail = proxy->register_node_proc( + (proxy->id << 8) | (telegram->telegram.flags.read ? RNPOP_READ : RNPOP_WRITE), + telegram->telegram.regno, + &temp, + &telegram->telegram.i32 + ) + ? 1 : 0; + + telegram->telegram.flags.type = temp; + + rb2_route_listed( telegram ); + return; + }; + + if ((proxy->register_proc == NULL) || proxy->register_proc( NULL, &(telegram->telegram) )) { + + for_each_list_entry(segment,&proxy->segments){ + RB2_REGISTER *reg; + + for (reg = list_entry(segment,RB2_RSEGMENT,list)->registers; reg->ptr; reg++) + { + if (reg->register_no == telegram->telegram.regno) + { + if (rb2_default_register_proc( reg, &telegram->telegram )) + telegram->telegram.flags.fail = 1; + + rb2_route_listed( telegram ); + return; + }; + }; + }; + + } else { + rb2_route_listed( telegram ); + return; + }; + }; + + rb2_pool_push( telegram ); +}; diff --git a/core/src/rb2_handle_response.c b/core/src/rb2_handle_response.c new file mode 100644 index 0000000..e7624f3 --- /dev/null +++ b/core/src/rb2_handle_response.c @@ -0,0 +1,45 @@ +#include +#include + +#include + +void rb2_handle_response(rb2_telegram_buffer_t *telegram) +{ + list_t *iter, + *tmp; + RB2_REQUEST + *pending; + + cpustate_t state; + + if (!telegram) + return; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + + for_each_list_entry_save(iter,tmp,(list_t*) &((&__rb2_instance)->queues.pending)){ + pending = list_entry(iter,RB2_REQUEST,list); + + if ( + (pending->telegram.receiver.addr == telegram->telegram.sender.addr) && + (pending->telegram.regno == telegram->telegram.regno) + ) { + list_remove( iter ); + + spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + + rb2_convert( telegram->telegram.flags.type, &telegram->telegram.i32, pending->telegram.flags.type, &(pending->telegram.i32) ); + + pending->telegram.flags.response = telegram->telegram.flags.response; + pending->telegram.flags.fail = telegram->telegram.flags.fail; + + thread_wake( pending->waiter ); + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + }; + }; + + spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + + rb2_pool_push( telegram ); +}; diff --git a/core/src/rb2_init.c b/core/src/rb2_init.c new file mode 100644 index 0000000..1741979 --- /dev/null +++ b/core/src/rb2_init.c @@ -0,0 +1,38 @@ +#include +#include + +#include +#include + +#include + +RB2_INSTANCE __rb2_instance; + +uint8_t rb2_init(uint8_t ax) +{ + memset(&__rb2_instance,0x00,sizeof(__rb2_instance)); + + __rb2_instance.ax = ax; + __rb2_instance.enabled = 1; + __rb2_instance.timeout = RB2_REQUEST_TIMEOUT; + + if (__rb2_instance.ax == RB_AX_MASTER) + __rb2_instance.ringmaster = 1; + + list_init( (list_t*)&__rb2_instance.links.list ); + list_init( (list_t*)&__rb2_instance.queues.router ); + list_init( (list_t*)&__rb2_instance.queues.pending ); + + list_init( (list_t*)&__rb2_instance.proxy ); + + __rb2_instance.links.lock = SPINLOCK_INIT_UNLOCKED; + __rb2_instance.queues.sl_router = SPINLOCK_INIT_UNLOCKED; + __rb2_instance.queues.sl_pending= SPINLOCK_INIT_UNLOCKED; + + __rb2_instance.threads.router = thread_alloc( rb2_router, NULL, 192); + thread_set_priority( __rb2_instance.threads.router, TP_LOW ); + + yield(); + + return 0; +}; diff --git a/core/src/rb2_known_endpoints.c b/core/src/rb2_known_endpoints.c new file mode 100755 index 0000000..5129b8f --- /dev/null +++ b/core/src/rb2_known_endpoints.c @@ -0,0 +1,16 @@ +#include +#include + +uint16_t rb2_known_endpoints(void) +{ + list_t *i; + uint16_t ep = 0x0000; + + for_each_list_entry(i,&((&__rb2_instance)->links.list)){ + ep |= list_entry(i,RB2_LINK,list)->idmask; + }; + + ep |= (&__rb2_instance)->idmask; + + return ep; +}; diff --git a/core/src/rb2_loop_ident.c b/core/src/rb2_loop_ident.c new file mode 100755 index 0000000..3de82cd --- /dev/null +++ b/core/src/rb2_loop_ident.c @@ -0,0 +1,82 @@ +#include +#include + +#include +#include + +extern int32_t dbg_rb2_router_ident; + +void rb2_loop_ident(void) +{ + uint16_t kep = rb2_known_endpoints(); + list_t *i; + cpustate_t state; + + spinlock_lock_irq( &(&__rb2_instance)->links.lock, &state ); + + for_each_list_entry(i,&((&__rb2_instance)->links.list)){ + RB2_LINK *link = list_entry(i,RB2_LINK,list); + + spinlock_release_irq( &(&__rb2_instance)->links.lock, &state ); + + if (wait_async_test( &link->timeoutIdent) ) + { + rb2_telegram_buffer_t *telegram = rb2_pool_pop(); + if (telegram){ + + wait_async_set( &link->timeoutIdent, RB2_IDENT_TIMEOUT ); + + if (link->identrx == 0) { + if (link->ring) { + (&__rb2_instance)->axes = 0; + } else { + link->idmask = 0; + }; + } else { + link->identrx--; + }; + + + telegram->telegram.magic = RB2_MAGIC; + telegram->telegram.sender.node = rb2_first_id(); + telegram->telegram.sender.ax = (&__rb2_instance)->ax; + telegram->telegram.flags.byte = 0; + telegram->telegram.flags.ident = 1; + + // Ist dieser Link der RING-BUS ? + if (link->ring) + { + // Ist dieser Knoten der RING-BUS Master? + if ((&__rb2_instance)->ringmaster) + { + telegram->telegram.receiver.node = RB_NODE_PROXY; + telegram->telegram.receiver.ax = 0; + telegram->telegram.ax = 0; + + link->send( link, telegram ); + dbg_rb2_router_ident++; + } else { + rb2_pool_push( telegram ); + }; + } else // Kein RING-BUS + { + telegram->telegram.receiver.node = RB_NODE_BROADCAST; + telegram->telegram.receiver.ax = RB_AX_LOCAL; + telegram->telegram.endpoints = kep & ~( link->idmask ); + + link->send( link, telegram ); + + dbg_rb2_router_ident++; + }; + } else { + trace_on(3); + }; + }; + + spinlock_lock_irq( &(&__rb2_instance)->links.lock, &state ); + }; + + spinlock_release_irq( &(&__rb2_instance)->links.lock, &state ); + +}; + diff --git a/core/src/rb2_loop_rx.c b/core/src/rb2_loop_rx.c new file mode 100755 index 0000000..d8249c6 --- /dev/null +++ b/core/src/rb2_loop_rx.c @@ -0,0 +1,30 @@ +#include + +void rb2_loop_rx() +{ + list_t *i; + cpustate_t state; + + spinlock_lock_irq( &(&__rb2_instance)->links.lock, &state ); + + for_each_list_entry(i,&((&__rb2_instance)->links.list)){ + RB2_LINK *link = list_entry(i,RB2_LINK,list); + + spinlock_release_irq( &(&__rb2_instance)->links.lock, &state ); + + if (link->receive) + { + rb2_telegram_buffer_t *telegram = link->receive( link ); + + while (telegram){ + telegram->link = link; + rb2_route_listed( telegram ); + telegram = link->receive( link ); + }; + }; + + spinlock_lock_irq( &(&__rb2_instance)->links.lock, &state ); + }; + spinlock_release_irq( &(&__rb2_instance)->links.lock, &state ); +}; + diff --git a/core/src/rb2_loop_tx.c b/core/src/rb2_loop_tx.c new file mode 100755 index 0000000..c9e1202 --- /dev/null +++ b/core/src/rb2_loop_tx.c @@ -0,0 +1,3 @@ +#include + + diff --git a/core/src/rb2_pool.c b/core/src/rb2_pool.c new file mode 100755 index 0000000..1b6c16f --- /dev/null +++ b/core/src/rb2_pool.c @@ -0,0 +1,50 @@ +#include + +LIST(rb2_pool); + + +rb2_telegram_buffer_t* rb2_pool_pop_irq (void){ + ATOMIC + + rb2_telegram_buffer_t + *tele; + + tele = list_first_entry( &rb2_pool, rb2_telegram_buffer_t, list ); + if (tele){ + list_remove( &(tele->list) ); + memset( tele, 0x00, sizeof(rb2_telegram_buffer_t) ); + }; + + return tele; +} + +rb2_telegram_buffer_t* rb2_pool_pop (void){ + ATOMIC + + rb2_telegram_buffer_t + *tele; + + tele = rb2_pool_pop_irq(); + + if (!tele){ + tele = malloc( sizeof(rb2_telegram_buffer_t) ); + if (tele){ + memset( tele, 0x00, sizeof(rb2_telegram_buffer_t) ); + }; + }; + + return tele; +}; + +void rb2_pool_push (rb2_telegram_buffer_t *tele){ + ATOMIC + + if (tele){ + if (list_count( &rb2_pool ) < 12){ + list_append( &(tele->list), &rb2_pool ); + } else { + free( tele ); + }; + }; + +}; diff --git a/core/src/rb2_request.c b/core/src/rb2_request.c new file mode 100644 index 0000000..9eebb95 --- /dev/null +++ b/core/src/rb2_request.c @@ -0,0 +1,84 @@ +#include + +#include +#include + +#include +#include + +#include + +int rb2_build_request(RB2_REQUEST *request,RB2_ADDR receiver,uint16_t registerno,uint8_t type,void *data){ + request->waiter = current_thread(); + request->telegram.magic = RB2_MAGIC; + request->telegram.sender.ax = __rb2_instance.ax; + request->telegram.sender.node = rb2_first_id(); + request->telegram.receiver.addr = receiver.addr; + request->telegram.regno = registerno; + request->telegram.flags.byte = 0; + request->telegram.flags.type = type & 0x0F; + request->telegram.flags.read = (type & RDT_WRITE) ? 0 : 1; + + if (type & RDT_WRITE){ + request->telegram.i32 = *(int32_t*)data; + } else { + request->telegram.i32 = 0x8899; + }; + + list_init( &(request->list) ); + + return ESUCCESS; +}; + +int rb2_enqueue_pending(RB2_REQUEST *request){ + cpustate_t state; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + list_append( &(request->list), (list_t*)&((&__rb2_instance)->queues.pending) ); + spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + + return ESUCCESS; +}; + +int rb2_unqueue_pending(RB2_REQUEST *request){ + cpustate_t state; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + list_remove( &(request->list) ); + spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &state ); + + return ESUCCESS; +}; + + +int rb2_request (RB2_ADDR receiver,uint16_t registerno,uint8_t type,void *data) +{ + MALLOC_CLEANUP( RB2_REQUEST, request, sizeof(RB2_REQUEST) ); + uint8_t n; + + for (n=0;n<3;n++) { + assert( rb2_build_request( request, receiver, registerno, type, data) ); + + { + assert(rb2_enqueue_pending( request )); + + rb2_route( &(request->telegram) ); + + wait_ms( RB2_REQUEST_TIMEOUT ); + + assert( rb2_unqueue_pending( request ) ); + }; + + if ( + ((type & RDT_WRITE) == 0) && + (request->telegram.flags.response) + ) { + *(int32_t*)data = 0; + rb2_convert( request->telegram.flags.type, &request->telegram.i32, type, data ); + }; + + if (request->telegram.flags.response && !request->telegram.flags.fail) + return ESUCCESS; + }; + return -ETIMEOUT; +}; diff --git a/core/src/rb2_router.c b/core/src/rb2_router.c new file mode 100644 index 0000000..58391ca --- /dev/null +++ b/core/src/rb2_router.c @@ -0,0 +1,179 @@ +#include + +#include +#include + +#include +#include + +int32_t dbg_rb2_router_ident; + + +void rb2_route(RB2_TELEGRAM *request) { + + rb2_telegram_buffer_t *txtele = rb2_pool_pop(); + + if (txtele) { + list_init( &txtele->list ); + txtele->telegram = *request; + rb2_route_listed( txtele ); + }; +}; + +void rb2_route_listed(rb2_telegram_buffer_t *txtele) { + cpustate_t state; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_router, &state ); + list_append( &(txtele->list), (list_t*) &((&__rb2_instance)->queues.router) ); + spinlock_release_irq( &(&__rb2_instance)->queues.sl_router, &state ); + + thread_wake( (&__rb2_instance)->threads.router ); +}; + + +uint8_t rb2_router_handle_ident(rb2_telegram_buffer_t *telegram){ + + if (!telegram->link){ + rb2_pool_push(telegram); + return -EFAIL; + }; + + dbg_rb2_router_ident--; + + telegram->link->identrx = 3; + + if (telegram->link->ring) { + if ((&__rb2_instance)->ringmaster) { + (&__rb2_instance)->axes = telegram->telegram.ax; + rb2_pool_push(telegram); + return ESUCCESS; + } else { + (&__rb2_instance)->ax = (++telegram->telegram.ax); + telegram->link->send( telegram->link, telegram ); + return ESUCCESS; + }; + } else { + if (telegram->telegram.sender.ax){ + (&__rb2_instance)->ax = telegram->telegram.sender.ax; + }; + + telegram->link->idmask = telegram->telegram.endpoints; + rb2_pool_push(telegram); + return ESUCCESS; + }; +}; + +uint8_t rb2_router_handle_foreign(rb2_telegram_buffer_t *telegram){ + list_t *i; + uint8_t temp; + + for_each_list_entry(i,&((&__rb2_instance)->links.list)){ + RB2_LINK *link = list_entry(i,RB2_LINK,list); + + if (link->send == NULL){ + continue; + }; + + // Eigenes Achsensystem ist Ziel... + if ( + (telegram->telegram.receiver.ax == RB_AX_LOCAL) || + (telegram->telegram.receiver.ax == (&__rb2_instance)->ax) + ) { + + if (link->idmask & (1<telegram.receiver.node)) { + link->send( link, telegram ); + return 0; + }; + } else { // Fremde Achse + if (link->ring) { + if ((&__rb2_instance)->ringmaster && ((&__rb2_instance)->axes < telegram->telegram.receiver.ax) ) { + break; + } else { + link->send( link, telegram ); + return 0; + }; + } else if (link->idmask & (0x01)) { + link->send( link, telegram ); + return 0; + }; + }; + }; + + /* Keine gültige Schnittstelle -> FAIL senden */ + if (telegram->telegram.flags.response) { // FAIL für Response ist unmöglich + rb2_pool_push(telegram); + return 0; + } else { + temp = telegram->telegram.sender.addr; + telegram->telegram.sender.addr = telegram->telegram.receiver.addr; + telegram->telegram.receiver.addr = temp; + telegram->telegram.flags.response = 1; + telegram->telegram.flags.fail = 1; + telegram->telegram.i32 = 0x99880000L | ((telegram->telegram.sender.addr<<8) & 0xFF00) | ((__rb2_instance.ax << 4) & 0xF0) | (rb2_first_id() & 0x0F); + + rb2_route_listed( telegram ); + return 0; + }; +}; + +/** + * @brief Der Router Thread des RegBUS Systems. + * + * Wartet auf Telegramme zum weiterleiten und verteilen an die entsprechenden Empfänger (z.B. lokale API, Schnittstellen) + * @param arg + * \callgraph + * \callergraph + */ +void rb2_router(void *arg) { + list_t *i,*tmp; + cpustate_t state; + int n; + + while (1) + { + yield(); + + rb2_loop_ident(); + + yield(); + + rb2_loop_rx(); + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_router, &state ); + + n = 0; + + for_each_list_entry_save(i,tmp,&((&__rb2_instance)->queues.router)){ + rb2_telegram_buffer_t *toroute = list_entry(i,rb2_telegram_buffer_t,list); + list_remove(i); + + spinlock_release_irq( &(&__rb2_instance)->queues.sl_router, &state ); + + if (toroute->telegram.flags.ident){ + rb2_router_handle_ident(toroute); + } else if (rb2_request_is_local( &(toroute->telegram) )){ + rb2_api_rx( toroute ); + } else { + rb2_router_handle_foreign(toroute); + }; + + spinlock_lock_irq( &(&__rb2_instance)->queues.sl_router, &state ); + + n++; + if (n>5){ + break; + }; + }; + + spinlock_release_irq( &(&__rb2_instance)->queues.sl_router, &state ); + + }; +}; + + + + + + + + diff --git a/core/src/rt_authenticate.c b/core/src/rt_authenticate.c new file mode 100755 index 0000000..e58d809 --- /dev/null +++ b/core/src/rt_authenticate.c @@ -0,0 +1,33 @@ +#include +#include + +uint8_t rt_authenticate(int32_t token) { + uint8_t sum; + + if (token == 0) { + rt_ram.accesscode.code = 0; + } else { + sum = 0xE2; + sum ^= rol8( (token >> 0) & 0xff, 3 ); + sum ^= rol8( (token >> 8) & 0xff, 5 ); + sum ^= rol8( (token >> 16) & 0xff, 2 ); + sum ^= rol8( (token >> 24) & 0xff, 1 ); + + if (sum) { + sum ^= rol8( (rt_ram.eeprom.serial.family),6 ); + }; + + if (!sum) { + rt_ram.accesscode.code = token; + + rt_ram.eeprom.last_auth = rt_ram.accesscode.servicepartner; + + runtime_signal(); + return -1; + } else { + rt_ram.accesscode.code = 0; + }; + }; + runtime_signal(); + return 0; +}; diff --git a/core/src/runtime.c b/core/src/runtime.c new file mode 100755 index 0000000..35239c3 --- /dev/null +++ b/core/src/runtime.c @@ -0,0 +1,73 @@ +#include +#include +#include + +#include +#include + +/** + * @defgroup hwo_core_runtime Betriebsstunden + * @brief Speicherung der Betriebsstunden. + * + * @{ +*/ + + volatile struct rt_ram rt_ram; + +/*! \brief Signal Thread. + * + */ +void runtime_signal(void) +{ + timer_start( rt_ram.timer, 1L ); +}; + +/*! \brief Runtime-Thread. + * + * Ermittelt Betriebsstunden des Geräts + */ +void runtime_cycle(void) +{ + rt_ram.secs_current = systick_secs(); + rt_ram.secs_gone = rt_ram.secs_current - rt_ram.secs_last; + + rt_ram.eeprom.secs_powered += rt_ram.secs_gone; + if (rt_ram.flags.is_running) + rt_ram.eeprom.secs_running += rt_ram.secs_gone; + + if ((rt_ram.eeprom.next_service != -1L) && (rt_ram.eeprom.next_service <= rt_ram.eeprom.secs_running)) + rt_ram.flags.service_pending = 1; + else + rt_ram.flags.service_pending = 0; + + eeprom_save( rt_ram.bank, (avrEEPROM*)&rt_ram.eeprom.eeprom ); + rt_ram.secs_last = rt_ram.secs_current; +}; + +/*! \brief Startet Runtime-Thread. + * + */ +void runtime_start(int16_t bank) +{ + if (!eeprom_load( bank, (avrEEPROM*)&rt_ram.eeprom.eeprom ) || (rt_ram.eeprom.serial.code == -1)) + rt_ram.flags.eeprom_corrupt = 1; + else + rt_ram.flags.eeprom_corrupt = 0; + + rt_ram.eeprom.count_poweron++; + rt_ram.flags.is_running = 0; + + eeprom_save( bank, (avrEEPROM*)&rt_ram.eeprom ); + + rt_ram.secs_last = systick_secs(); + rt_ram.bank = bank; + + rt_ram.timer = timer_create_ex( TIMERID_SYS_RUNTIME, 10000000L, runtime_cycle, TF_REPEAT); + timer_start( rt_ram.timer, 0 ); +}; + + + + +/** @} +*/ diff --git a/core/src/runtime_register_proc.c b/core/src/runtime_register_proc.c new file mode 100644 index 0000000..b002dc0 --- /dev/null +++ b/core/src/runtime_register_proc.c @@ -0,0 +1,613 @@ +#include +#include +#include +#include + +#include + +#include + +#include + +#define WEAK __attribute__((weak)) +#define IFNOTWEAK(v) ((&v == NULL) ? 0 : (v)) +#define SETNOTWEAK(v,a) { if (&v != NULL) v = a; } + +extern uint8_t* __brkval; + +LogCSR *csrbuffer; +uint16_t dbgPtr; +uint32_t lasterror; + +uint8_t dummy_can_usage(void){ + return 0; +}; + +uint8_t can_usage(void) __attribute__((weak,alias("dummy_can_usage"))); + +extern int32_t _dbg_jetcan_requests WEAK, + _dbg_jetcan_misses WEAK, + _dbg_jetcan_timeouts WEAK, + _dbg_jetcan_rtt WEAK, + _dbg_jetcan_rtt_min WEAK, + _dbg_jetcan_rtt_max WEAK; + + + +int rt_node_proc(int op,int regno,uint8_t *type,void *buffer){ + uint16_t ui16; + + switch (op & RNPOP_MASK){ + case RNPOP_READ: + + if ((regno >= 0x00F0) && (regno < 0x0100)) + { + csrbuffer = get_csr_log(); + *(int32_t*)buffer = (int32_t)csrbuffer->mcucsr[ regno & 0x0F]; + return 0; + }; + + if ((regno >= 0x8600) && (regno < 0x8700)) + { + ui16 = (regno & 0xFF); + *(int32_t*)buffer = output_read( ui16 ); + return 0; + }; + if ((regno >= 0x8700) && (regno < 0x8800)) + { + ui16 = (regno & 0xFF); + if (*type & RDT_FLOAT){ + *(float*)buffer = fp4816_to_float( output_current(ui16) ); + } else{ + *(int32_t*)buffer = output_current(ui16)>>16; + }; + return 0; + }; + + if ((regno >= 0xA000) && (regno < 0xB000)) + { + *(int32_t*)buffer = *(int32_t*)(regno & 0x0FFF); + return 0; + }; + + if ((regno >= 0xB000) && (regno < 0xB100)) + { + list_t *l = _threading_threads.next; + thread_t *thread; + + ui16 = (regno >> 4) & 0x0F; + + while ((l != &_threading_threads) && (ui16--)){ + l = l->next; + }; + thread = (thread_t*)l; + + if (&(thread->list) != &_threading_threads){ + switch (regno & 0x0F){ + case 0: + *(int32_t*)buffer = (uint32_t)(unsigned int)thread; + break; + case 1: + *(int32_t*)buffer = ((int)(thread->start))<<1; + break; + case 2: + *(int32_t*)buffer = (int)(thread->stack.base); + break; + case 3: + *(int32_t*)buffer = (int)(thread->stack.size); + break; + case 4: + *(int32_t*)buffer = (int)(thread->stack.stackpointer); + break; + case 5: + *(int32_t*)buffer = (int)(thread->stack.min_free); + break; + case 6: + *(int32_t*)buffer = thread->statistic.scheduled_time.seconds; + break; + case 7: + *(int32_t*)buffer = thread->statistic.scheduled_time.cycles; + break; + default: + *(int32_t*)buffer = 0; + }; + } else { + *(int32_t*)buffer = 0; + }; + return 0; + }; + + switch (regno) + { + case 0x0001: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.serial.code, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0002: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.flags.code, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0003: + rb2_convert( + RDT_INT8, + (void*)&rt_ram.accesscode.accessmask, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0004: + rb2_convert( + RDT_INT16, + (void*)&rt_ram.accesscode.servicepartner, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0005: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.last_auth, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0006: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.count_poweron, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0007: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.secs_powered, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0008: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.secs_running, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0009: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.next_service, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x000A: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.service_partner, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x000B: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.eeprom.service_set_time, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x000C: + *(int32_t*)buffer = runtime_is_running(); + *type = RDT_INT32; + return 0; + case 0x000E: + *(int32_t*)buffer = (&__rb2_instance)->axes; + *type = RDT_INT32; + return 0; + case 0x000F: + *(int32_t*)buffer = rb2_known_endpoints(); + *type = RDT_INT32; + return 0; + + case 0x0018: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.identity.hardware_id, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0019: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.identity.hardware_revision, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x001A: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.identity.software_revision, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x001B: + rb2_convert( + RDT_INT32, + (void*)&rt_ram.identity.functional_groups, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x001C: + *(int32_t*)buffer = unixtime(); + return 0; + case 0x0020: + rb2_convert( + RDT_INT16, + (void*)&__brkval, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0021: + *(int32_t*)buffer = (int32_t)(int)__malloc_heap_end; + return 0; + case 0x0022: + rb2_convert( + RDT_INT32, + (void*)&_systick_secs, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x0023: + *(int32_t*)buffer = rt_dbg->atomic_ip; + return 0; + case 0x0024: + *(int32_t*)buffer = rt_dbg->spinlock_ip; + return 0; + case 0x0025: + *(int32_t*)buffer = _assert_current(); + return 0; + case 0x0026: + *(int32_t*)buffer = _assert_current_error(); + return 0; + case 0x0027: + *(int32_t*)buffer = systick_ticks() & 0x7FFFFFFFul; + return 0; + +#if defined(DEBUG_SCHEDULING) + + case 0x0050: + *(int32_t*)buffer = _ts_sys_time.seconds; + return 0; + case 0x0051: + *(int32_t*)buffer = _ts_sys_time.cycles; + return 0; + case 0x0052: + *(int32_t*)buffer = _ts_irq_time.seconds; + return 0; + case 0x0053: + *(int32_t*)buffer = _ts_irq_time.cycles; + return 0; + case 0x0054: + *(int32_t*)buffer = _ts_timer_resolution; + return 0; + case 0x0055: + *(int32_t*)buffer = _ts_timer_cycles_per_increment; + return 0; + case 0x0056: + *(int32_t*)buffer = _ts_timer_increments_per_second; + return 0; + case 0x0057: + *(int32_t*)buffer = __freq_cpu; + return 0; + case 0x0058: + *(int32_t*)buffer = _st_lag_current; + return 0; + case 0x0059: + *(int32_t*)buffer = _st_lag_min; + return 0; + case 0x005A: + *(int32_t*)buffer = _st_lag_max; + return 0; + case 0x005B: + *(int32_t*)buffer = ((uint32_t)rt_dbg->last_late_vect[0] << 1) | ((uint32_t)rt_dbg->last_late_vect[1] << 17); + return 0; + case 0x005C: + *(int32_t*)buffer = ((uint32_t)rt_dbg->last_late_vect[2] << 1) | ((uint32_t)rt_dbg->last_late_vect[3] << 17);; + return 0; + +#endif + + case 0x005D: + *(int32_t*)buffer = _dbg_rb2_usart_sync; + return 0; + case 0x005E: + *(int32_t*)buffer = _dbg_rb2_usart_sync_min; + return 0; + case 0x005F: + *(int32_t*)buffer = _dbg_rb2_usart_sync_max; + return 0; + case 0x0060: + *(int32_t*)buffer = _dbg_rb2_usart_rxtele; + return 0; + case 0x0061: + *(int32_t*)buffer = _dbg_rb2_usart_txtele; + return 0; + case 0x0062: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_requests); + return 0; + case 0x0063: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_timeouts); + return 0; + case 0x0064: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_rtt); + return 0; + case 0x0065: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_rtt_min); + return 0; + case 0x0066: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_rtt_max); + return 0; + case 0x0067: + *(int32_t*)buffer = IFNOTWEAK(_dbg_jetcan_misses); + return 0; + + + case 0x00E9: + *(int32_t*)buffer = can_usage(); + return 0; + case 0x00EA: + rb2_convert( + RDT_INT32, + (void*)&lasterror, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x00EB: + rb2_convert( + RDT_INT16, + (void*)&dbgPtr, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x00EC: + rb2_convert( + RDT_INT8, + (void*)dbgPtr, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x00ED: + rb2_convert( + RDT_INT16, + (void*)dbgPtr, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x00EE: + rb2_convert( + RDT_INT32, + (void*)dbgPtr, + *type, + &*(int32_t*)buffer + ); + return 0; + case 0x00EF: + csrbuffer = get_csr_log(); + *(int32_t*)buffer = (int32_t)csrbuffer->wp; + return 0; + }; + + break; + case RNPOP_WRITE: + + if ((regno >= 0x8600) && (regno < 0x8700)) + { + ui16 = (regno & 0xFF); + if (*(int32_t*)buffer){ + output_on(ui16); + } else { + output_off(ui16); + }; + return 0; + }; + + if ((regno >= 0xA000) && (regno < 0xB000)) + { + *(int32_t*)(regno & 0x0FFF) = *(int32_t*)buffer; + return 0; + }; + + switch (regno) + { + case 0x0001: + if (rt_authorized(RTA_MANUFACT1)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)&rt_ram.eeprom.serial.code + ); + return 0; + }; + case 0x0004: + rt_authenticate( *(int32_t*)buffer ); + return 0; + case 0x0006: + if (rt_authorized(RTA_MANUFACT1)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)&rt_ram.eeprom.count_poweron + ); + return 0; + }; + case 0x0007: + if (rt_authorized(RTA_MANUFACT1)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)&rt_ram.eeprom.secs_powered + ); + return 0; + }; + case 0x0008: + if (rt_authorized(RTA_MANUFACT1)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)&rt_ram.eeprom.secs_running + ); + return 0; + }; + case 0x0009: + if (rt_authorized(RTA_SERVICE2)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)&rt_ram.eeprom.next_service + ); + runtime_signal(); + rt_ram.eeprom.service_set_time = rt_ram.eeprom.secs_powered; + rt_ram.eeprom.service_partner = rt_ram.accesscode.servicepartner; + runtime_signal(); + return 0; + }; + case 0x000C: + runtime_set_running( *(int32_t*)buffer ? 1 : 0 ); + return 0; + case 0x001C: + unixtime_set( *(int32_t*)buffer ); + return 0; + case 0x0025: + _assert_read(); + return 0; + +#if defined(DEBUG_SCHEDULING) + + case 0x0059: + _st_lag_min = *(int32_t*)buffer; + return 0; + case 0x005A: + _st_lag_max = *(int32_t*)buffer; + return 0; + +#endif + + case 0x005D: + _dbg_rb2_usart_sync = *(int32_t*)buffer; + return 0; + case 0x005E: + _dbg_rb2_usart_sync_min = *(int32_t*)buffer; + return 0; + case 0x005F: + _dbg_rb2_usart_sync_max = *(int32_t*)buffer; + return 0; + case 0x0060: + _dbg_rb2_usart_rxtele = *(int32_t*)buffer; + return 0; + case 0x0061: + _dbg_rb2_usart_txtele = *(int32_t*)buffer; + return 0; + + case 0x0062: + SETNOTWEAK(_dbg_jetcan_requests, *(int32_t*)buffer); + return 0; + case 0x0063: + SETNOTWEAK(_dbg_jetcan_timeouts, *(int32_t*)buffer); + return 0; + case 0x0064: + SETNOTWEAK(_dbg_jetcan_rtt, *(int32_t*)buffer); + return 0; + case 0x0065: + SETNOTWEAK(_dbg_jetcan_rtt_min, *(int32_t*)buffer); + return 0; + case 0x0066: + SETNOTWEAK(_dbg_jetcan_rtt_max, *(int32_t*)buffer); + return 0; + case 0x0067: + SETNOTWEAK(_dbg_jetcan_misses, *(int32_t*)buffer); + return 0; + + + case 0x00EB: + if (rt_authorized(RTA_DEVELOPER)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT16, + (void*)&dbgPtr + ); + return 0; + }; + case 0x00EC: + if (rt_authorized(RTA_DEVELOPER)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT8, + (void*)dbgPtr + ); + return 0; + }; + case 0x00ED: + if (rt_authorized(RTA_DEVELOPER)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT16, + (void*)dbgPtr + ); + return 0; + }; + case 0x00EE: + if (rt_authorized(RTA_DEVELOPER)) { + rb2_convert( + *type, + &*(int32_t*)buffer, + RDT_INT32, + (void*)dbgPtr + ); + return 0; + }; + }; + + break; + default: + return -EPARAM; + }; + return -ENOFILE; +}; + + +uint8_t runtime_register_proc(RB2_REGISTER *regno,RB2_TELEGRAM *telegram) +{ + uint8_t t = telegram->flags.type; + return rt_node_proc( telegram->flags.read ? RNPOP_READ : RNPOP_WRITE, telegram->regno, &t, &telegram->i32); +}; + + diff --git a/core/src/runtime_set_running.c b/core/src/runtime_set_running.c new file mode 100755 index 0000000..9e5ee86 --- /dev/null +++ b/core/src/runtime_set_running.c @@ -0,0 +1,16 @@ +#include +#include +#include + +#include + +void runtime_set_running(uint8_t running) +{ + uint8_t sig = (!rt_ram.flags.is_running) != (!running); + + rt_ram.flags.is_running = running ? 1 : 0; + if (sig) + runtime_signal(); +}; + + diff --git a/core/src/seconds_from_midnight.c b/core/src/seconds_from_midnight.c new file mode 100755 index 0000000..ca39c5f --- /dev/null +++ b/core/src/seconds_from_midnight.c @@ -0,0 +1,17 @@ +#include + +#include + +uint32_t seconds_from_midnight(datetime_t *datetime){ + uint32_t r; + datetime_t dt; + + if (datetime){ + dt = *datetime; + r = dt.second + (dt.minute*60) + (dt.hour * 3600l); + } else { + r = unixtime() % (86400l); + }; + + return r; +}; diff --git a/core/src/smooth.c b/core/src/smooth.c new file mode 100755 index 0000000..b2c88ca --- /dev/null +++ b/core/src/smooth.c @@ -0,0 +1,29 @@ +#include + +#include +#include + + + +float smooth(SMOOTHER *s,float input) +{ + float a; + if (s) + { + s->sum += input; + a = s->sum * s->inv_n; + s->sum -= a; + return a; + }; + return 0.0f; +}; + +void smoother_set(SMOOTHER *s,float sum,float n) +{ + if (s) + { + s->sum = sum; + s->inv_n = 1.0f / n; + }; +}; + diff --git a/core/src/spi_driver.c b/core/src/spi_driver.c new file mode 100644 index 0000000..085ff4a --- /dev/null +++ b/core/src/spi_driver.c @@ -0,0 +1,124 @@ +#include +#include + +#include +#include +#include +#include +#include + +struct __spi_state +{ + uint8_t ptr, + len; + uint8_t *tx, + *rx; + + void(*selector)(uint8_t slave); + + MUTEX mutex; + +} _spi_state = { }; + +int spi_set_select(void(*select)(uint8_t chip)) { + _spi_state.selector = select; + return 0; +}; + +int spi_configure(uint32_t clk, uint32_t flags) +{ + MUTEXED(&_spi_state.mutex); + + uint8_t cfg = _BV(SPIE) | _BV(SPE); + + if (flags & SPI_MASTER) + cfg |= _BV(MSTR); + if (flags & SPI_LSBFIRST) + cfg |= _BV(DORD); + if (flags & SPI_IDLE_CLKHIGH) + cfg |= _BV(CPOL); + if (flags & SPI_PHASE_TRAILING) + cfg |= _BV(CPHA); + + if (clk <= (__freq_cpu / 128)) { + cfg |= 3; + } else if (clk <= (__freq_cpu / 64)) { + cfg |= 2; + } else if (clk <= (__freq_cpu / 32)) { + cfg |= 2; + SPSR |= _BV(SPI2X); + } else if (clk <= (__freq_cpu / 16)) { + cfg |= 1; + } else if (clk <= (__freq_cpu / 8)) { + cfg |= 1; + SPSR |= _BV(SPI2X); + } else if (clk <= (__freq_cpu / 4)) { + cfg |= 0; + } else { + cfg |= 0; + SPSR |= _BV(SPI2X); + }; + + SPCR = cfg; + + return ESUCCESS; +}; + +int spi_deconfigure(void) +{ + MUTEXED(&_spi_state.mutex); + + SPCR &= ~_BV(SPE); + return ESUCCESS; +}; + +int spi_transmit_ex(uint8_t chip,void *tx,void *rx,uint8_t len) { + int8_t r = -EFAIL; + + MUTEXED(&_spi_state.mutex); + + _spi_state.selector(chip); + r = spi_transmit(tx,rx,len); + _spi_state.selector(-1); + + return r; +}; + +int spi_transmit(void* tx,void* rx,uint8_t len) +{ + MUTEXED(&_spi_state.mutex); + + _spi_state.ptr = 0; + _spi_state.len = len; + _spi_state.tx = tx; + _spi_state.rx = rx; + + if (_spi_state.tx) + SPDR = _spi_state.tx[0]; + else + SPDR = 0; + + while (_spi_state.ptr < _spi_state.len){ + yield(); + }; + + return ESUCCESS; +}; + +VECT(SPI_STC_vect) +{ + if (_spi_state.rx) + _spi_state.rx[ _spi_state.ptr ] = SPDR; + else + (void)SPDR; + + _spi_state.ptr++; + + if (_spi_state.ptr < _spi_state.len) + { + if (_spi_state.tx) + SPDR = _spi_state.tx[ _spi_state.ptr ]; + else + SPDR = 0x00; + }; +}; diff --git a/core/src/spinlock.c b/core/src/spinlock.c new file mode 100644 index 0000000..c82671b --- /dev/null +++ b/core/src/spinlock.c @@ -0,0 +1,49 @@ +#include + +#if defined(DEBUG_SPINLOCK) + #pragma message "SPINLOCK: DEBUG MODE" +#endif + +void spinlock_lock(spinlock_t *spinlock){ + while (1){ + ATOMIC + if (!*spinlock){ + *spinlock |= 0x01; + return; + }; + }; +}; + +void spinlock_release(spinlock_t *spinlock){ + ATOMIC + *spinlock = 0x00; +}; + +void spinlock_lock_irq(spinlock_t *spinlock,cpustate_t *state){ + *state = SREG & 0x80; + +#if defined(DEBUG_SPINLOCK) + rt_dbg->spinlock_ip = getPC(); +#endif + + while (1){ + SREG &= 0x7F; + + if (!*spinlock){ + *spinlock |= 0x01; + return; + }; + + SREG = *state; + }; +}; + +void spinlock_release_irq(spinlock_t *spinlock,cpustate_t *state){ + *spinlock = 0x00; + +#if defined(DEBUG_SPINLOCK) + rt_dbg->spinlock_ip = 0; +#endif + + SREG = (SREG & 0x7F) | *state; +}; \ No newline at end of file diff --git a/core/src/sprintf.c b/core/src/sprintf.c new file mode 100644 index 0000000..29ca5bd --- /dev/null +++ b/core/src/sprintf.c @@ -0,0 +1,49 @@ +#include +#include +#include + +char* vpf_int(char *dst,int n){ + itoa( n, dst, 10 ); + return dst + strlen(dst); +}; + +int sprintf(char *dst,const char* fmt,...){ + va_list args; + int n = 0; + + va_start( args, fmt ); + + while (*fmt){ + + if (*fmt == '%'){ + fmt++; + + switch (*fmt){ + case 'd': + case 'i': + dst = vpf_int( dst, va_arg( args, int )); + break; + case 's': + strcpy( dst, va_arg( args, char* ) ); + dst += strlen( dst ); + break; + case 'x': + itoa( va_arg( args, int ), dst, 16); + dst += strlen(dst); + break; + case '%': + *(dst++) = '%'; + }; + + } else { + *(dst++) = *fmt; + }; + + fmt++; + } + + *dst = 0x00; + + va_end( args ); + return n; +}; \ No newline at end of file diff --git a/core/src/systick.c b/core/src/systick.c new file mode 100644 index 0000000..768052b --- /dev/null +++ b/core/src/systick.c @@ -0,0 +1,343 @@ +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include + +#if defined(DEBUG_SCHEDULING) + #pragma message "SCHEDULING: DEBUG MODE" +#else + //#pragma message "SCHEDULING: RELEASE MODE" +#endif + + + + +uint8_t* dummy_scheduler(uint8_t* oldstack); +uint8_t* scheduler(uint8_t* oldstack) __attribute__((weak,alias("dummy_scheduler"))); + +int __systick_interval__ = 1000; +extern int __systick_interval __attribute__((weak, alias("__systick_interval__"))); + + + +systick_t _systick_us; // Increment time by <_timebase> [us] at every call to timebase() +systick_t volatile _systick_ticks; // system uptime in [us] +uint32_t volatile _systick_secs; // system uptime in [s] +uint32_t volatile _systick_sec_frac; + +int32_t _systick_correct; +int32_t _systick_correct_sum; + +uint8_t *pSystickSP; +uint8_t *pUserSP; + +systick_handler _systick_handler, + _systick_handler_sec; + +/* System Timers Queue */ +list_t sys_timers; +list_t lh_periodic; +list_t *periodic_item; + +/* System Timers Queue */ +list_t sys_timers; + +/* ADC SW Watchdog */ +uint8_t _adc_wdog; +uint8_t _adc_wdog_flag; + +/* Entwicklungsunterstützung */ +#if defined(DEBUG_SCHEDULING) + + int16_t _st_lag_current, + _st_lag_min, + _st_lag_max; + +#endif + + + +void __wdt_reset(void) __attribute__((naked)) __attribute__((section (".init2"))); +void __wdt_reset(void){ + wdt_enable(WDTO_1S); +}; + +void __systick_init8(void) __attribute__((naked)) __attribute__((section (".init8"))); +void __systick_init8(void) +{ + pSystickSP = (uint8_t*)RAMEND; + + __malloc_heap_end = (void*)(RAMEND - 128); + + systick_init( __systick_interval ); + +#if defined(DEBUG_SCHEDULING) + + _st_lag_min = 0x7FFF; + +#endif + + sei(); + + while (1); +}; + +int systick_correct(int32_t correct){ + ATOMIC + _systick_correct = correct; + return ESUCCESS; +}; + +void systick_init(systick_t systick_us) +{ + _systick_us = systick_us; + systick_timer_init(systick_us); + + list_init( &sys_timers ); +}; + +void st_timer(void){ + list_t *i,*tmp; + SYSTIMER *t; + + /* Handle System Timer Queue */ + for_each_list_entry_save(i,tmp,&sys_timers){ + t = list_entry(i,SYSTIMER,list); + + if ((t->timeout) && (t->timeout < _systick_ticks)){ + + event_push( EV_SYS_TIMER, t->id, 0, t->handler ); + + if (t->repeat && t->elapse){ + t->timeout = _systick_ticks + (t->elapse); + } else { + list_remove( i ); + }; + }; + }; + +}; + +void systick(void) +{ + wdt_reset(); + + _systick_ticks += _systick_us; + _systick_sec_frac += _systick_us; + + _systick_correct_sum += _systick_correct; + if (_systick_correct_sum >= 1000) { + while (_systick_correct_sum >= 1000){ + _systick_correct_sum -= 1000; + _systick_sec_frac += 1; + }; + } else if (_systick_correct_sum <= -1000) { + while (_systick_correct_sum <= -1000){ + _systick_correct_sum += 1000; + _systick_sec_frac -= 1; + }; + }; + + + if (_systick_sec_frac >= 1000000) + { + _systick_sec_frac -= 1000000; + _systick_secs++; + if (_systick_handler_sec) + _systick_handler_sec(_systick_us); + + }; + + if (_systick_handler) + _systick_handler(_systick_ticks); + + st_schedule(); + st_timer(); + + if (_adc_wdog_flag){ + if (_adc_wdog){ + _adc_wdog--; + } else { + if (_adc_wdog_flag < 3){ + adc_reinit(); + } else { + // Wait for HW Watchdog... + while (1){ }; + }; + }; + }; + +}; + +void call_sys_ctx(void (*proc)(void)){ + ATOMIC + + pUserSP = (uint8_t*)SP; + SP = (uint16_t)pSystickSP; + +#if defined(DEBUG_SCHEDULING) + + thread_stat_unschedule( ¤t_thread()->statistic.scheduled_time ); + thread_stat_schedule( &_ts_irq_time ); + +#endif + + if (proc) + proc(); + +#if defined(DEBUG_SCHEDULING) + + thread_stat_unschedule( &_ts_irq_time ); + thread_stat_schedule( ¤t_thread()->statistic.scheduled_time ); + +#endif + + SP = (uint16_t)pUserSP; +}; + +void __systick_enclosed(void){ + +#if defined(DEBUG_SCHEDULING) + + if (current_thread()){ + thread_stat_unschedule( ¤t_thread()->statistic.scheduled_time ); + }; + st_reset_last_counter(); + thread_stat_schedule( &_ts_sys_time ); + + _st_lag_current = st_current_counter(); + if (_st_lag_max < _st_lag_current){ + _st_lag_max = _st_lag_current; + memcpy( rt_dbg->last_late_vect, rt_dbg->last_vect, sizeof(rt_dbg->last_late_vect)); + }; + if (_st_lag_min > _st_lag_current){ + _st_lag_min = _st_lag_current; + }; + +#endif + + systick(); + + pUserSP = scheduler( pUserSP ); + +#if defined(DEBUG_SCHEDULING) + + thread_stat_unschedule( &_ts_sys_time ); + thread_stat_schedule( ¤t_thread()->statistic.scheduled_time ); + +#endif + +}; + +ISR(SYSTICK_ISR, ISR_NAKED) +{ + __asm ( + "push r0\n" + "push r1\n" + "push r2\n" + "push r3\n" + "push r4\n" + "push r5\n" + "push r6\n" + "push r7\n" + "push r8\n" + "push r9\n" + "push r10\n" + "push r11\n" + "push r12\n" + "push r13\n" + "push r14\n" + "push r15\n" + "push r16\n" + "push r17\n" + "push r18\n" + "push r19\n" + "push r20\n" + "push r21\n" + "push r22\n" + "push r23\n" + "push r24\n" + "push r25\n" + "push r26\n" + "push r27\n" + "push r28\n" + "push r29\n" + "push r30\n" + "push r31\n" + + "in r16, 0x3f\n" // ; Read SREG + "ori r16, 0x80\n" // I-Flag has been set, we were called by HW-IRQ + "push r16\n" + + "eor r1, r1\n" + + ); + + pUserSP = (uint8_t*)SP; + SP = (uint16_t)pSystickSP; + + __systick_enclosed(); + + SP = (uint16_t)pUserSP; + + __asm( + "pop r2\n" + + "pop r31\n" + "pop r30\n" + "pop r29\n" + "pop r28\n" + "pop r27\n" + "pop r26\n" + "pop r25\n" + "pop r24\n" + "pop r23\n" + "pop r22\n" + "pop r21\n" + "pop r20\n" + "pop r19\n" + "pop r18\n" + "pop r17\n" + "pop r16\n" + "pop r15\n" + "pop r14\n" + "pop r13\n" + "pop r12\n" + "pop r11\n" + "pop r10\n" + "pop r9\n" + "pop r8\n" + "pop r7\n" + "pop r6\n" + "pop r5\n" + "pop r4\n" + "pop r3\n" + + "out 0x3f, r2\n" + + "pop r2\n" + "pop r1\n" + "pop r0\n" + + "ret\n" + ); +}; + +uint8_t* dummy_scheduler(uint8_t* oldstack) +{ + return oldstack; +}; diff --git a/core/src/systick_secs.c b/core/src/systick_secs.c new file mode 100755 index 0000000..09528dc --- /dev/null +++ b/core/src/systick_secs.c @@ -0,0 +1,7 @@ +#include + +uint32_t systick_secs(void) +{ + return _systick_secs; +}; + diff --git a/core/src/systick_set_handler.c b/core/src/systick_set_handler.c new file mode 100755 index 0000000..6cf2060 --- /dev/null +++ b/core/src/systick_set_handler.c @@ -0,0 +1,12 @@ +#include +#include + +extern systick_handler _systick_handler; + +void systick_set_handler(systick_handler handler) +{ + ATOMIC + + _systick_handler = handler; +}; + diff --git a/core/src/systick_set_handler_sec.c b/core/src/systick_set_handler_sec.c new file mode 100755 index 0000000..97c3fe7 --- /dev/null +++ b/core/src/systick_set_handler_sec.c @@ -0,0 +1,12 @@ +#include +#include + +extern systick_handler _systick_handler_sec; + +void systick_set_handler_sec(systick_handler handler) +{ + ATOMIC + + _systick_handler_sec = handler; +}; + diff --git a/core/src/systick_set_us.c b/core/src/systick_set_us.c new file mode 100755 index 0000000..e3d9e20 --- /dev/null +++ b/core/src/systick_set_us.c @@ -0,0 +1,10 @@ +#include + +extern systick_t _systick_us; + + +void systick_set_us(systick_t tickus) +{ + _systick_us = tickus; +}; + diff --git a/core/src/systick_ticks.c b/core/src/systick_ticks.c new file mode 100755 index 0000000..54c9479 --- /dev/null +++ b/core/src/systick_ticks.c @@ -0,0 +1,7 @@ +#include + +systick_t systick_ticks(void) +{ + return _systick_ticks; +}; + diff --git a/core/src/thread_alloc.c b/core/src/thread_alloc.c new file mode 100644 index 0000000..c880292 --- /dev/null +++ b/core/src/thread_alloc.c @@ -0,0 +1,70 @@ +#include +#include + +#include +#include +#include + +#include + +#include + +int thread_reset(THREAD *t){ + uint8_t* pstack; + uint8_t i; + uint16_t sadr = ((uint16_t)thread_starter); // ret from ctxswitch to start + + pstack = &t->stack.base[ t->stack.size - 1]; + *(pstack--) = LOW(sadr); + *(pstack--) = HIGH(sadr); + + // fill registers with 0 + for (i=0;i<32;i++) + *(pstack--) = 0; + + *(pstack--) = 0x80; // initial SREG + + t->stack.stackpointer = pstack; + + schedule_thread( t ); + + return ESUCCESS; +} + + +THREAD* thread_alloc(threadstart start,void* arg,uint16_t stacksize) +{ + THREAD* t = malloc(sizeof(THREAD)); + if (t) + { + memset(t, 0x00, sizeof( THREAD ) ); + + t->stack.base = malloc( stacksize ); + if (t->stack.base == NULL) + { + free(t); + return NULL; + }; + + t->stack.size = stacksize; + t->stack.min_free = stacksize; + t->start = start; + t->arg = arg; + + t->priority = TP_NORMAL; + + list_init( &(t->list) ); + list_init( &(t->list_queue) ); + list_init( &(t->list_periodic) ); + + list_append( &(t->list), &(_threading_threads) ); + + if (noassert(thread_reset(t))){ + free(t->stack.base); + free(t); + return NULL; + }; + }; + return t; +}; + diff --git a/core/src/thread_kill.c b/core/src/thread_kill.c new file mode 100755 index 0000000..41c6cb6 --- /dev/null +++ b/core/src/thread_kill.c @@ -0,0 +1,19 @@ +#include +#include + +#include + +int thread_kill(THREAD* t){ + if (!t) + return -ENULLPTR; + + unschedule_thread(t); + + if (_threading_current == t){ + _threading_current = NULL; + }; + + yield(); + + return ESUCCESS; +}; \ No newline at end of file diff --git a/core/src/thread_set_periodic.c b/core/src/thread_set_periodic.c new file mode 100755 index 0000000..8e49c28 --- /dev/null +++ b/core/src/thread_set_periodic.c @@ -0,0 +1,15 @@ +#include + +#include + +void thread_set_periodic(THREAD* thread,int32_t us) { + ATOMIC + + if (!thread) { + thread = current_thread(); + }; + + thread->periode = thread->periodic = us; + + schedule_thread( thread ); +}; diff --git a/core/src/thread_set_priority.c b/core/src/thread_set_priority.c new file mode 100755 index 0000000..c78bd2a --- /dev/null +++ b/core/src/thread_set_priority.c @@ -0,0 +1,15 @@ +#include +#include + +void thread_set_priority(THREAD* thread,uint8_t prio) { + ATOMIC + + if (!thread) { + thread = current_thread(); + }; + + thread->priority = prio; + + schedule_thread( thread ); + +}; \ No newline at end of file diff --git a/core/src/thread_sleep_irq.c b/core/src/thread_sleep_irq.c new file mode 100755 index 0000000..f36faea --- /dev/null +++ b/core/src/thread_sleep_irq.c @@ -0,0 +1,15 @@ +#include + +#include + +void thread_sleep_irq(THREAD* thread) +{ + if (thread == NULL) + thread = current_thread(); + + thread->wait = 1; + + schedule_thread( thread ); +}; + + diff --git a/core/src/thread_starter.c b/core/src/thread_starter.c new file mode 100755 index 0000000..813af0a --- /dev/null +++ b/core/src/thread_starter.c @@ -0,0 +1,12 @@ +#include + +void thread_starter(void) +{ + if (current_thread()->start) + current_thread()->start( current_thread()->arg ); + + thread_kill(current_thread()); + + while (1) + yield(); +}; diff --git a/core/src/thread_stat.c b/core/src/thread_stat.c new file mode 100644 index 0000000..ad1e8e6 --- /dev/null +++ b/core/src/thread_stat.c @@ -0,0 +1,34 @@ +#include +#include + +#if defined(DEBUG_SCHEDULING) + +int32_t _ts_timer_resolution; +int32_t _ts_timer_cycles_per_increment; +int32_t _ts_timer_last_counter_value; +int32_t _ts_timer_increments_per_second; + +sched_time_t + _ts_sys_time, + _ts_irq_time; + +void thread_stat_schedule(sched_time_t *sched_time){ + if (!sched_time) + return; + + sched_time->cycles -= (int32_t)st_current_counter(); +}; + +void thread_stat_unschedule(sched_time_t *sched_time){ + if (!sched_time) + return; + + sched_time->cycles += (int32_t)st_current_counter(); + + if ( sched_time->cycles > _ts_timer_increments_per_second ){ + sched_time->seconds++; + sched_time->cycles -= _ts_timer_increments_per_second; + }; +}; + +#endif \ No newline at end of file diff --git a/core/src/thread_wake.c b/core/src/thread_wake.c new file mode 100755 index 0000000..4820329 --- /dev/null +++ b/core/src/thread_wake.c @@ -0,0 +1,15 @@ +#include + +#include + +void thread_wake(THREAD* thread) +{ + ATOMIC + + if (thread == NULL) + thread = current_thread(); + thread->wait = 0; + thread->timeout = 0; + + schedule_thread( thread ); +}; diff --git a/core/src/timer_cancel.c b/core/src/timer_cancel.c new file mode 100755 index 0000000..2745fcc --- /dev/null +++ b/core/src/timer_cancel.c @@ -0,0 +1,13 @@ +#include +#include + +#include + + +void timer_cancel(SYSTIMER* timer){ + ATOMIC + if (timer){ + list_remove(&timer->list); + }; +}; + diff --git a/core/src/timer_create.c b/core/src/timer_create.c new file mode 100755 index 0000000..b1ce104 --- /dev/null +++ b/core/src/timer_create.c @@ -0,0 +1,15 @@ +#include + +#include +#include + +SYSTIMER* timer_create(uint32_t id,uint32_t timeout){ + SYSTIMER* timer = (SYSTIMER*)malloc(sizeof(SYSTIMER)); + if (timer){ + memset(timer,0x00,sizeof(SYSTIMER)); + list_init( &timer->list ); + timer->id = id; + timer->elapse = timeout; + }; + return timer; +}; diff --git a/core/src/timer_create_ex.c b/core/src/timer_create_ex.c new file mode 100755 index 0000000..2138750 --- /dev/null +++ b/core/src/timer_create_ex.c @@ -0,0 +1,11 @@ +#include + +SYSTIMER* timer_create_ex(uint32_t id,uint32_t timeout,void (*handler)(void),uint8_t flags){ + SYSTIMER* timer = timer_create(id,timeout); + if (timer){ + timer->flags = flags; + timer->handler = handler; + }; + return timer; +}; + diff --git a/core/src/timer_start.c b/core/src/timer_start.c new file mode 100755 index 0000000..2753ae3 --- /dev/null +++ b/core/src/timer_start.c @@ -0,0 +1,22 @@ +#include +#include + +#include + +void timer_start(SYSTIMER* timer,uint32_t timeout){ + ATOMIC + + if (timer){ + if (timeout == 0L) { + timeout = timer->elapse; + }; + + timer->timeout = _systick_ticks + timeout; + + if (list_is_empty(&timer->list)){ + list_append(&timer->list, &sys_timers); + } + }; +}; + + diff --git a/core/src/unix2datetime.c b/core/src/unix2datetime.c new file mode 100755 index 0000000..9409b10 --- /dev/null +++ b/core/src/unix2datetime.c @@ -0,0 +1,19 @@ +#include +#include + +int unix2datetime(time_t unix,datetime_t* datetime){ + if (datetime){ + + datetime->second = unix % 60; + unix /= 60; + datetime->minute = unix % 60; + unix /= 60; + datetime->hour = unix % 24; + unix /= 24; + + /* TODO: Ewiger Kalender... */ + + return ESUCCESS; + }; + return ENULLPTR; +}; \ No newline at end of file diff --git a/core/src/unixtime.c b/core/src/unixtime.c new file mode 100755 index 0000000..e5cdb10 --- /dev/null +++ b/core/src/unixtime.c @@ -0,0 +1,26 @@ +#include +#include +#include + + +void unixtime_set(uint32_t _unixtime){ + time_t oldtime = unixtime(); + + if (rt_ram.unix_time_changing && !rt_ram.unix_time_changing(UTCH_CHECK, oldtime,_unixtime)){ + + if (rt_ram.unix_time_changing) + rt_ram.unix_time_changing(UTCH_CHANGING,oldtime,_unixtime); + + rt_ram.unix_timeoffset = _unixtime - systick_secs(); + + if (rt_ram.unix_time_changing) + rt_ram.unix_time_changing(UTCH_CHANGED,oldtime,_unixtime); + + }; +}; + +uint32_t unixtime(void){ + return (rt_ram.unix_timeoffset + systick_secs()); +}; + + diff --git a/core/src/usart.c b/core/src/usart.c new file mode 100644 index 0000000..af4bcb2 --- /dev/null +++ b/core/src/usart.c @@ -0,0 +1,94 @@ +#include +#include + +#if defined(__USART_BUFFER__) + + int usart_tx (uint8_t _usart,void *data,int size){ + usart_t *usart = usart_device_get(_usart); + + if (usart){ + ATOMIC + + buffer_set( &(usart->tx), data, size ); + if (data && size){ + usart->mode_set(usart, USART_MODE_TX); + } else { + usart->mode_clear(usart, USART_MODE_TX); + }; + return ESUCCESS; + }; + return -ENOFILE; + }; + + int usart_tx_done (uint8_t _usart){ + usart_t *usart = usart_device_get(_usart); + if (usart){ + return buffer_free( &(usart->tx) ); + }; + return -ENOFILE; + }; + + int usart_rx (uint8_t _usart,void *data,int size){ + usart_t *usart = usart_device_get(_usart); + + if (usart){ + ATOMIC + + buffer_set( &(usart->rx), data, size ); + if (data && size){ + usart->mode_set(usart, USART_MODE_RX); + } else { + usart->mode_clear(usart, USART_MODE_RX); + }; + return ESUCCESS; + }; + return -ENOFILE; + }; + + int usart_rx_done (uint8_t _usart){ + usart_t *usart = usart_device_get(_usart); + if (usart){ + return buffer_free( &(usart->rx) ); + }; + return -ENOFILE; + }; + +#else + +int usart_read (uint8_t _usart){ + ATOMIC + usart_t *usart = usart_device_get(_usart); + if (usart){ + int ch = usart_fifo_read( &(usart->rx) ); + if (ch >= 0){ + usart->mode_set( usart, USART_MODE_RX ); + }; + return ch; + }; + return -ENOFILE; +}; + +int usart_write (uint8_t _usart,int ch){ + ATOMIC + usart_t *usart = usart_device_get(_usart); + if (usart){ + usart->mode_set( usart, USART_MODE_TX ); + return usart_fifo_write( &(usart->tx), ch ); + }; + return -ENOFILE; +}; + +int usart_tx (uint8_t usart,char *b,int size){ + int n,r; + for (n=0;n= 0){ + break; + }; + wait_ms(1); + }; + }; +}; + + +#endif \ No newline at end of file diff --git a/core/src/usart_configure.c b/core/src/usart_configure.c new file mode 100644 index 0000000..668f75c --- /dev/null +++ b/core/src/usart_configure.c @@ -0,0 +1,11 @@ +#include +#include + +int usart_configure(uint8_t usart,uint32_t baud,uint32_t config) +{ + usart_t *u = usart_device_get(usart); + if (u){ + return (u->configure) ? (u->configure(u,baud,config)) : -ENULLPTR; + }; + return -ENOFILE; +}; diff --git a/core/src/usart_head.c b/core/src/usart_head.c new file mode 100644 index 0000000..e00dc24 --- /dev/null +++ b/core/src/usart_head.c @@ -0,0 +1,3 @@ +#include +#include + diff --git a/core/src/usart_options.c b/core/src/usart_options.c new file mode 100644 index 0000000..3e61cc0 --- /dev/null +++ b/core/src/usart_options.c @@ -0,0 +1,4 @@ +#include +#include + + diff --git a/core/src/wait_async_set.c b/core/src/wait_async_set.c new file mode 100755 index 0000000..aa378d0 --- /dev/null +++ b/core/src/wait_async_set.c @@ -0,0 +1,13 @@ +#include + + +void wait_async_set(avrWAIT* wait,systick_t us) +{ + if (wait) + { + wait->target = systick_ticks() + us; + }; +}; + + + diff --git a/core/src/wait_async_test.c b/core/src/wait_async_test.c new file mode 100755 index 0000000..6b576ed --- /dev/null +++ b/core/src/wait_async_test.c @@ -0,0 +1,8 @@ +#include + + +uint8_t wait_async_test(avrWAIT* wait) +{ + return (wait->target < _systick_ticks); +}; + diff --git a/core/src/wait_ms.c b/core/src/wait_ms.c new file mode 100755 index 0000000..09679fb --- /dev/null +++ b/core/src/wait_ms.c @@ -0,0 +1,11 @@ +#include +#include +#include + +void wait_ms(uint32_t ms) +{ + current_thread()->timeout = _systick_ticks + (systick_t)((systick_t)1000L * (systick_t)ms); + thread_sleep( current_thread() ); +}; + + diff --git a/core/src/wcslen.c b/core/src/wcslen.c new file mode 100755 index 0000000..157a909 --- /dev/null +++ b/core/src/wcslen.c @@ -0,0 +1,14 @@ +#include + +#include +#include + + +int wcslen(wchar_t* str) +{ + int n; + + for (n=0; *(str++) != 0x0000; n++); + + return n; +}; diff --git a/core/src/yield.c b/core/src/yield.c new file mode 100644 index 0000000..113fd1f --- /dev/null +++ b/core/src/yield.c @@ -0,0 +1,120 @@ +#include +#include + +extern uint8_t *pSystickSP; +extern uint8_t *pUserSP; + +uint8_t* scheduler(uint8_t* oldstack); + +void yield(void) __attribute__((naked)); +void yield(void) +{ + __asm ( + "push r0\n" + "push r1\n" + "push r2\n" + + "in r2, 0x3f\n" // ; Read SREG + "cli\n" + + "push r3\n" + "push r4\n" + "push r5\n" + "push r6\n" + "push r7\n" + "push r8\n" + "push r9\n" + "push r10\n" + "push r11\n" + "push r12\n" + "push r13\n" + "push r14\n" + "push r15\n" + "push r16\n" + "push r17\n" + "push r18\n" + "push r19\n" + "push r20\n" + "push r21\n" + "push r22\n" + "push r23\n" + "push r24\n" + "push r25\n" + "push r26\n" + "push r27\n" + "push r28\n" + "push r29\n" + "push r30\n" + "push r31\n" + + "push r2\n" + + "eor r1, r1\n" + + ); + + pUserSP = (uint8_t*)SP; + SP = (uint16_t)pSystickSP; + +#if defined(DEBUG_SCHEDULING) + + thread_stat_unschedule( ¤t_thread()->statistic.scheduled_time ); + thread_stat_schedule( &_ts_sys_time ); + +#endif + + pUserSP = scheduler( pUserSP ); + +#if defined(DEBUG_SCHEDULING) + + thread_stat_unschedule( &_ts_sys_time ); + thread_stat_schedule( ¤t_thread()->statistic.scheduled_time ); + +#endif + + SP = (uint16_t)pUserSP; + + __asm( + "pop r2\n" + + "pop r31\n" + "pop r30\n" + "pop r29\n" + "pop r28\n" + "pop r27\n" + "pop r26\n" + "pop r25\n" + "pop r24\n" + "pop r23\n" + "pop r22\n" + "pop r21\n" + "pop r20\n" + "pop r19\n" + "pop r18\n" + "pop r17\n" + "pop r16\n" + "pop r15\n" + "pop r14\n" + "pop r13\n" + "pop r12\n" + "pop r11\n" + "pop r10\n" + "pop r9\n" + "pop r8\n" + "pop r7\n" + "pop r6\n" + "pop r5\n" + "pop r4\n" + "pop r3\n" + + "out 0x3f, r2\n" + + "pop r2\n" + "pop r1\n" + "pop r0\n" + + "ret\n" + ); +}; + + diff --git a/cpu/at90can128/Makefile b/cpu/at90can128/Makefile new file mode 100755 index 0000000..6f348bc --- /dev/null +++ b/cpu/at90can128/Makefile @@ -0,0 +1,2 @@ +SUBS+=avr/core avr/can avr/usart/at90 + diff --git a/cpu/at90can128/global.make b/cpu/at90can128/global.make new file mode 100755 index 0000000..4e6a5b8 --- /dev/null +++ b/cpu/at90can128/global.make @@ -0,0 +1,5 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=at90can128 -Wall -Os +ASFLAGS+=-ggdb -mmcu=at90can128 +LDFLAGS+=-ggdb -mmcu=at90can128 + diff --git a/cpu/at90can128/include/cpu/systick.h b/cpu/at90can128/include/cpu/systick.h new file mode 100644 index 0000000..5e79be5 --- /dev/null +++ b/cpu/at90can128/include/cpu/systick.h @@ -0,0 +1,5 @@ +#pragma once + +#define SYSTICK_ISR TIMER0_COMP_vect +#define _st_counter() (TCNT0) + \ No newline at end of file diff --git a/cpu/at90can128/src/at90can_timer0.c b/cpu/at90can128/src/at90can_timer0.c new file mode 100644 index 0000000..7fae5af --- /dev/null +++ b/cpu/at90can128/src/at90can_timer0.c @@ -0,0 +1,48 @@ +#include +#include + +#ifdef __AVR_ATmega32__ + +#define TCCR0A TCCR0 +#define OCR0A OCR0 +#define TIMSK0 TIMSK + +#define OCIE0A OCIE0 + +#endif + +#define PRESCALER_LEVELS 5 +int prescale_shift[] = { 0, 3, 6, 8, 10 }; +uint32_t _st_prescale; + +void systick_timer_init(uint32_t systick_us) +{ + uint64_t clocks = ((uint64_t)systick_us) * ((uint64_t)__freq_cpu) / 1000000LL; + uint64_t ocr; + uint8_t n_prescaler; + + + for (n_prescaler=0;n_prescaler> prescale_shift[ n_prescaler ]; + if (ocr < 256){ + break; + }; + }; + + if (n_prescaler < PRESCALER_LEVELS) { + + TCCR0A = _BV(WGM01) | ((n_prescaler + 1) & 0x07); + OCR0A = (uint8_t)ocr; + TIMSK0 |= _BV(OCIE0A); + + _systick_us = 1000000LL * (1LL << prescale_shift[ n_prescaler ]) * (ocr + 1) / __freq_cpu; + _st_prescale = (1L << prescale_shift[ n_prescaler ]); + +#if defined(DEBUG_SCHEDULING) + _ts_timer_resolution = ocr; + _ts_timer_cycles_per_increment = _st_prescale; + _ts_timer_increments_per_second = __freq_cpu / _ts_timer_cycles_per_increment; +#endif + + }; +}; diff --git a/cpu/at90usb1286/Makefile b/cpu/at90usb1286/Makefile new file mode 100755 index 0000000..eea6327 --- /dev/null +++ b/cpu/at90usb1286/Makefile @@ -0,0 +1,2 @@ +SUBS+=avr/core cpu/timer/at90timer0 avr/usb avr/usart/at90 + diff --git a/cpu/at90usb1286/global.make b/cpu/at90usb1286/global.make new file mode 100755 index 0000000..bd7a497 --- /dev/null +++ b/cpu/at90usb1286/global.make @@ -0,0 +1,9 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=at90usb1286 -Wall -Os +ASFLAGS+=-ggdb -mmcu=at90usb1286 +LDFLAGS+=-ggdb -mmcu=at90usb1286 + + + + + diff --git a/cpu/at90usb1286/include/cpu/systick.h b/cpu/at90usb1286/include/cpu/systick.h new file mode 100644 index 0000000..0a7ff2b --- /dev/null +++ b/cpu/at90usb1286/include/cpu/systick.h @@ -0,0 +1,9 @@ +#pragma once + +#include + +#define SYSTICK_ISR TIMER0_COMPB_vect +#define _st_counter() (TCNT0) + +extern uint32_t _st_prescale; + diff --git a/cpu/at90usb1286/src/adc_cpu.c b/cpu/at90usb1286/src/adc_cpu.c new file mode 100644 index 0000000..e84b19c --- /dev/null +++ b/cpu/at90usb1286/src/adc_cpu.c @@ -0,0 +1,27 @@ +#include + +#include +#include + +uint16_t _adc_values[8]; +uint8_t _adc_ch; + +void init_adc(void) +{ + DIDR0 = -1; + ADCSRA = 0; + ADMUX = _BV(REFS0) | _BV(ADLAR); + ADCSRB = 0; + ADCSRA = _BV(ADEN) | _BV(ADIE) | _BV(ADPS1) | _BV(ADPS2); + ADCSRA |= _BV(ADSC); +}; + +VECT(ADC_vect) +{ + _adc_values[_adc_ch++] = ADC; + if (_adc_ch > 7) + _adc_ch = 0x00; + ADMUX = (ADMUX & 0xE0) | _adc_ch; + ADCSRA |= _BV(ADSC); +}; + diff --git a/cpu/atmega1284/Makefile b/cpu/atmega1284/Makefile new file mode 100755 index 0000000..832a1ba --- /dev/null +++ b/cpu/atmega1284/Makefile @@ -0,0 +1 @@ +DEPENDS=../atmega1284p diff --git a/cpu/atmega1284/build.a b/cpu/atmega1284/build.a new file mode 100644 index 0000000000000000000000000000000000000000..63923dbcbbc623308b390ffbf77be3ddabce8fef GIT binary patch literal 1128296 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

2nEmIKiXX@ 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

`!8>>w4RrFPYHLQOizlh@L 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 z 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

Bn+-3LZkG z^%zUfqHN>yD!uJxAgKWsqHhe2LsYFP^wO0+f2q!dNvkuLJuCPu4kf)7rO)R=ENY(3X4dOZdLdh3 zkk0G!(v@E7N8Xb(z5G^)&(+xFr7PX#r7PX#r7PX#r7L{}8vRGdJLZ@LwH#WrepzR=`?gP0Gv}c)8U- zw4H=uIHSYF?TD&_14&&2@phZvZ_ie zq{`?flf~GtV_HZIZ@a7zx=lJOv(U;a=66`RRfeg~YgnsIsj|Q{LJp zQP_kvO?bipC;C=d@`MF!WxCRs1$5{%8YCtJjd4n`46Y1+!zN@+byZ!lV?R2q5cP1I zZfs|Pv7_PNc2-4Ay`qBT4LQ)42BxJ zxXQNWVRoueA7xOsgBd3peL{P~x}w|K+ey{7o?V8oNpPFG zb=%0&Mm57mewB4ev2HwD3@?in%dqv?cGhqm2*~L~X3J zgYoe8#-!c81B|hJW!~Lc+O)Y|ZF^TwXV^j0X2FfQa>v}R%K|?8U)hy+ER<`5&gDg7 zu-sU?RjsPpNsKvboBv{So2#EJB1iBx$gz6b{;G#&*30;JnPGFxva7k%-rP5b7H!CO zviQ4A+esx+FR}lsZQ6$|B%Afq(x&qD0^_#3D(2?RP%-PS>Q`gA9|KC+Gj`^JvO=t_ znPW8-{{iic!YfnHovcvG(yue>jXMI>iP|hPT1{3#W42F>3^=;nu!W0y5@PA6I;hqe5$*=%Jz|L|drLE7F9 zc!y~u_8OgPiDBu^OeL#tA^s~{$+>)9%&J>n3CoxW>uYsbW{|QR4F4hZuo=vow=7y# zbejq;uR@E9J>mR<0{S;GmWHbf+i~U}S!=}VVV2sfb@sq5pw zp@9JSyhM%zhxjahqKU#jF~8Fa9|sOiLWB?5`Z#dNAcjZY{;+zhn7Jhd&F}k zo{Nz7U&~$TeBn^jA^sf?Z$Hu+Y$uB*mUudG=y3O;-e*McLmnIqxUZ7mMrGnO^uaF7 z4@;8dTQNMAIp5^rJ)ZiW^;A4w^1C8_+e#ZXWHsO6@tvD3P1Z+vPC=M0_;}=1FK>|d z9dzn=q1PjvE|~U(3k1K9cY39QpXXz(;1&37X_eqb;J-xh$#}WAQ82$%-6D7jcywf16->JaPYB+GvYr(@3wd7@ya?f2f*(Zqp5SSCYW+%ZGO*f9i8>ZQzS>I( z%yFXjQUZ^Jo@y^8@D0FfFC}me+EeYN1nv%f&OzC1=XJ=d_EG|KkDuC02~3*+YA+@5 z1CXQkQUV_f9n@Y*VD2kadntkW8=u-s3A`J0wU-jO8FaOm5;z5N)Lu&9-=O?=MTZ#Z z_IJU5hd!SPz7uuyKo<2J16rJ5uvonXZvf9w!L6v*S%SBttP;UHkXP-Wgq(fAtA#!Z zVXI)S6*~p99DY~Ma=8~`kKoUd_Zh(%psT%<;Nkvpe!NEhcM--2=AOQE!4=4xDflF` z$q9n_ef$K$_z~DTL-147Uoe`-sues9d11^%AMPdfKd4HR4oJX-K22qy^s3Bs9z zX{TtR;On7(iQu`&%Y9dr$+5OVa3kpamY?)95pERB9|5ivOq&|qYek+#kbjrpDAe~M z!3#itLGZh1L$(+B+n~eW1s{iUXMm6N$>jxD?@1!Q4OGB)AqjTqXDb%DP5y658xG z!J`oVRxm#*pnWLHr(Kc12LK zI2rQC3J!sX_L)?@faeHqgZ_&IUkO|-xDn-YFM=u;{8tEOU1;-&^q0VMt6;7Z94n;% z6e>R^_~+2)Il&?5toBuchvRg=&_4nGT5tq(<|l-dLt7cF1Mv{xkYLWQVS?`gK3Op5 z^c2Cob}kgW1N2hCE#O!CDj}2a;4cz7+wyY3Y?DobpF-XT1oI1(zY2Z>dAUcQx_txP zz7;$U?GTGN>2HJ9UGRgz+@DH1_s6O|lfc_SuN3-jw8I*~m!MqkX(m5yE%k`c3Q-tFMQ~&9L`=G2s!K01puS0_2Yt%&|RD@Pm*)TktQzf39He zUn&4SpV zK7SHS`=x&o{Abkb6T!a#{ae9_(5DM-s#q89bv;q=W8j}6_)oy|1;>D=OmGwAaIYlu z_6Ge@!JDDmCc!iZc7x!*gXd1cpQGG8g8z!P{fpp@!0!kiiMk&UJPbN~E4U8yXxt*R zT;|1Zh6?WkUG1d={ZsHy6M72TR_&z(oqK52UP|Cf@Tk3%B1i3|1g0IK9g?>Jc(>r^ zA?JRDSeA>fgM zxsP|e;FaK?W%z+h1fK&PY6YK&daV>Z4|1*${B!ihcEMic{iR^qJ-A2k4CwZhV9uA9 z1arN5TW~j&#rtdO|0w9Of;m1j1aCsQ#|VxF&rreCf2`n_pwDE%Q$e3AxG(tg1)qkp zDh1On!E(Vd(Crez{1kM9VD2}*R&WIP?-EQs_XxfL_)%i$$m0c}#~|fjWKk0SccM}w%e&{wwzwy8(51_RIvVP_w7&x;7UoQwchZ*EBe2Wk_m`N+Z z7b1|uq%B0;t>1_o{k%&3FjO7=SU-~o(AowDUaQSv(yBpl%bN;$Y=6q*kTLzS3YdA2 ztd6Ov*n5Vx!yHWGd8LGgZ+%G10$Ck~&+Pdz^czC@ncKu!E|05my7imqsxOASqaUBS zUDdN555eXiXy#zKJQ&LKQt_JJxR(SGUsI@)WhLNbTe{`#?PFONgJupRFMH(3<3g_E z`}Xn-A9bAU{rUdAJp3^44iq>-6{`30JhSojjUR11wDD{E@?-7&mo%0%*0gPV>+rAP$Qf0XzufXh6MHp1KpdfQ3~{8!vBdb49sezF z!UgwcFE!Lm<5hwh-ge{y=EK3Zu(uV0SFNRXBq5KO zTFdqsu9%{Fd{@Ql@K7suIr+MHNW+y%AKso=ZaaQXl?n3~Ck4D<@}@f9CqaFoL$}DF z?TrfrMh8v|a7U*v{29|IC>7QIncKR=orZ1(|D zp#29(G3`GGP<17K@+qn+FD4alf-yR#(9h@R9uW^}Fid{@2RGf6UkU!e4bb z{^#Xm5iX|TuSgteB%9xx@S8}n{8C$1jZay_?BvqET083<`U+JU!|s8dUlNrJW_N$H z(*9cl{iCMwniZ~r<0I?`{}vSD6qAFq4t^`wdf>P6D*CNlN57csBmcMlK7>`e-S0!V z?P&M=(6NZSe;?w#!HGEaao|w+wL%gX& z{5uz(ANPwN14LUE7d^3slX!z{}$nR!Mwkn zA^2m2YvCuU7W;kBBZXwmw|`&HHrD`9}s*4!Zg8rhuNDLZObD^=+tvG zu{=AUCYb#&S8y%x0%GKy1biMb%K9ln^Scr;?=d@jj;@xxNLIfc9_i<3_Ln(OlsdZM zKdz)!u8L_}xj*DN`U>GUfsr>D1m63q`(=dR#iz!X$t-*gMhM~tc6^TJ-pAcY?2HFljRpH<(F$*Lkz>FfeJ0T$uC=P@xck9ENWp;_mj_joW9w z1EGF=_A~m`1Dia6$_EtfjG4ng&KI}5$03jPqdY)I-YQ_`$-&8k_TcU|LJ%k9d8LGg z?->j}$})%H>-Ze~Huy#vCWO?9$JIF9`q8ePsc*cbQQwZw(fpnDM$pY+RAq=RaE^z; zR|6u~FP$g8WYuC6c3s?L^Y>F;}vK7QyAe~#XZir#?&N2o&e zbM*R++c(~}@%J0e^Yk;VueW|^KWX1*hql=J2Q;40IHhr6BcGH{x6if*H;!$b-k7K2 zi|rNmPwidyBlev()61HdH($~G)8@zQyY1IEJhQ<(XaBzCwwCQJ>+!t(;NWKmFR}5O zueDdJE{D(VlbYu@pVxe0^Ud}(_M*0$wpH(Ke@i{DH(%7eu6cViW%b$+zrnw$7siP0 z#|}^DyQCF85h}U;LprZ8@{q13wddlgptOHpKbJiEd0q1~){xTf(VeS&8(Ge;Ni(xwTIAI1m^Nti|i5{<`u@W7nqcIXa zK}BH+L+2f>qkbDUpQE!Ip%2#pD>{etB>rBChKfFkhM864M4!xYBzWBIfV5c-!gyl- zeg=H%IQ;inT@s>C;}-^+IElR}crshqujx~WW5_&>W}7u}dbm5HXQ=Mb^fTCFe%&9V zqx&^F83x=&RW;Knu zJsLfi%Ha>3XA!EA6upq*Q~2+8&{8J?cqQqaoetL``sed`sIAU+Ijf}Mm0@^Q7_JY) zjjXcfZ4JXs;~WW_!*GiO1F7r}l`W7KhUv4gR`@(?jV6Jv>}So^jdM(mbbp|4EBJ!= z9NY>V(;H;nvVnfYGBW}Ls=$-RM4R`i+Mw9BS3yj#1Brk~I;GetN(!S@t_W0NL4547 zY`GXR?K!&TTXwWz2lGGkF6}sr@4|fMr5H@-n>~U0b=l$X&w_UN-5Y-C zGwgi#7HI!wF2?LTjMe)NLB+mIAg3ut#*E^ zUC?S5w%VjP+zDZBW*LanXhgg~#kEGn6*#pNpC^qZ~T#{GiytMtktqdY9&xq1{|4i#xdWX&7Tlm_)`wbTYPW)U@ zUtV2hHn5^^)IL4EfhPRE*S+gfw&ir#H^t2l?Y3c|_Dk|BDxg$;X&u@@Hc_@`D#TvV zV!TjpzxyIDub_4@GUIic`%Sa6d%=;_$?ha~h9CEHK)BT$HPEN3uhf>K+0$msm@{d@ ztgx0QS?z(uuAiAOIHd-R-qcuLRnvgst40(@Ni8D!6@0t;>rIR54Lt;^qFkd$wpFQJ z8+qZ4H{evIs_h_7YwG+oz0T*(o$vhSH^2FvnK|donKk0VWZAA-(h*(+%X+U$k86IU zYjXw4wYs#(>(lRQ2*6%qVyQ28zFKd{h15EKynDyf9P4V#avD?FjeiApbutmmIwDU4 z87c9W9jVpJYMmc-uSWi>HMyQFEI;gGM1p-1(Q8u*t(P#H1{jan#PNvD9FN$-@rdhV zrzXd5jhmVrxFLROa>9*)smZ}@2~(33+k;b+lekSz$dbYS7szO$jAqJcr;OYF&yH#E zTPi#*vHu`iqY+~o9F4WdG>(J+Bv@_sAIvvUx%&??%=Kvh{53D^Gd70xi+$k6(9Z^_ zG4z*;hjoo(AeWdxxD2m@Wfc67Hhu?FCl(+K`-07Q$4p}N5r}aGV2*LHDck_d@sT^>ZihAJyQ7hD$k;~> z_}KTrzW1eYyBqr`M%ElJ{AGw+AUF?nvyNso=+lIL0opi=1-}h?iQw0OD+G^bvq>=f zt5*sBA$Yb3=C^aR;8oz^by4R9aQ~m+Z-Rf1;OF6fSMUPFeMT_H6kZX`{Z!vH7(DL^ z=6NK47R-6ktPV`;4Y+0;JG1_<7ZxZ?$n06t0ZkAPP6TA>E`~AsZ0oSaN z;aaCY$QROY2mc7c10aW+%aVQt=<4h-;A-&mY!=cBz;l`4KZCwS@WbHWE_fC6yi@S+ z!Ot>d+)F_Jf#7R^&3c(%f#;V(=hm z1Adzry2avJ-X}&}8tg--;%N<##OsBZUF?`H(gBjKdI}mwij0qbJ0(B^qfQO;qb0APZvK#%T0h>5v zTd1J{VYNpPWr?S_7oO_>}sF#54dn>qmK?18*{2*jAQ=vvv}EI`C25K+uu zI9Aw+1RF#a9U~7LD-`LiUi5fjcVmU4M~|L3CPdTyoZFhAkz<8fxax*x=nLy$WN_5C zxmSK;N^_sj+)yJ!wiPwB>hR4u&Vdjp96)y!_%LzkY;cjOqF0;E3QYjhh?O4muqTe@gwlVM+Sun~F0& zUte5^R2IM%!`8rV!Kmbp&hc$S+H%_B+iq!d4g9e%eL{`IKv+rHggeA^S6>ww4gNd(tgk@8zF z{M|#sTRJaqTiSL`+iB`L=4M?KTNS$o*Wq+<{8Z9}IGw4Td)@5qe`@}$IcLX~kqK?5kNl4NtQu+lcvLuK+Xo44Mu%-9 z4<_wQ?5a#T295FKmXwy1@1(S(4NAm+e(RLh`K?8*)vaqOQSF#dzghq%~B@ULQidV-pXsC{9&@hYd zDh+eOy!J5-DlicI0|cw42garELma+~Fvpuva4Ip!rFmqY(jg(ugTb61gNjX$@t^cM z{(A5at?vNFrI&-7&w7kY-+_N?Tv~g*acSiZk4p=)j4h8BX7Qe=z23OA_Il&e${QY+ z)?OKx-T-~lls*Ndr}O&Fg$Jz@8iG?fuS{>`8=OY0H)sudCo}|4`%f?8 zEatKZu})|RdM7jl&&Wls)~Q%0Gz6^^8iEViIt`CYZ}1`veJCt_7_q1_oLKJ_8yxX{ zU^6bwQb^8Z0q7GNf-`vW>6yGzeL_QU5tWw{8iHq0IaMWs7f@yv|GoiQ_T>PwgK_Yp zTRpDgrvT%8R8dD$Cp2iNPH52Z2DT+NR3|iO*pdOE8n%X^I-x;R)d>w6suLPi4fQ9+ z&BxE+?D^>$c|+YQkbg z$Ut*c4Mex&@z*O(uSL+2b<^H)&l$@|Fb%M7`(239hl-w~ZZ6RJP}i_eUC=q}5kS+I zf9`pV<=g7^qmTRauZ2G0K#eeFDcv%d~7 zNh>W+kI*vgQ(B&GSO=gy=GHPgj8=JGw94a$5EHSEUmJ5eb*wI z9v=2x4bC#(RrqRPOfKzb%!Grw40!P-1zxyZ>8a*Q#~_Z|{wKuJD$a;j@ii-1DMVGc zhY{S{2rfWcZaY`|_9X7#motN>5)IYB*|Wd6uq!0JcmNhsR-B; zB@)6j8aQbo7(LD6D>8G!R?EjPJT7n2Q!$3*c`Kx%W=?o?PO<2TwNaRe!nIMowyeWL zEw_0Z1oiG}s>KdHD}%c|TeC8_+p}y-O%=G?vl2+@q43J9{*hBO1|XItWT1}4ID-yZ zqQw^t-<@Xq12Oy6;$*4?G4}}2lO>2wu|iG7qLeq46n&=>^N^u9M^AYmHc~2fg{4GJ zh%i!Ir;Gx|Ad>4`M90J}^Wq}FBu<6c-HWZP>F~AaI_J~rfQ_7YLf)mYak6@h_&dt4 zRUtO9Dt6f^=vaET3NdGe#mT%5ViT+EkXWv>gc11V?>ZOIF}zDW-eOSMCFyq(KG{X^ zFs$no(IL0BO*eaq*1$$CfFtGiifT_aA>|!dWp|TD3w1ko5j+PA9qGIXi$hxGGPU<$6%PT$Sl7W`ojGP!3-SxoO;FC>{1wy?V2p%oy4j~2HAK&K0SM24fybWU($%aMu$X}-Foks6ce?${>to>fCjQOH@ zIV$C%GZ)M*I&<-<%5#jS>ezQ#5ibY(F01K8$7bq|8efZ^yOYGnw-~lCY(Kw{PBwvX z`Q6slT4T)ZY2w_TX3p(t=iHv#Ft;aZS`V~E*c>s2AC!pS&UrnzVO~!hI3}1txD7h| z28Q3rc|Y4Y@281#hngwBo$_yk{6r;Mtr<1Z*Xg)h825U{-O9K(Fz$_vyNz+1s9Uo& z?`UdrGDNX&!Wd%cxR!Dn{4KDy+^Ow*te{F$;zcgxMBXG8}*{7J@fbM)62SZiYHp z-`*+4i*?q+fH^NooBapJ8mQd;2gw`O>1gLHsqQr|1%E`XXA7L#hmBv|IkrE=nJeCT za5=}QNc`-0OGDH961WVbB!;hsdm$|EA^JB08-rm#wSS`RzsGpsGW-cxeh}~;Vtjrz z@cXYp{IA0`hWwqd{CMMiLH>PkJK$&irvEdz#*jZDoVogH`7n|}!cshm&RkG5tEfnW zxf(2*ahd{)rk=6je1+;))Zlf$RN*VjYpacikLt(=ruC?edOgt_ZX$K{cChAl9;St% zbhq1ckm)sFbhCymhNPdh;rB^IlL=G0s*BKgE2%BwHrmKShpPqI>_zvN!svlhJ-VEy zH4~WmNgf(L{|p{r;lYBL?ZaUimvw5C(3uX)nsNDk$LAz@=D?i=%lTpKY+C?J9&}@= zvL&Wo%VEh=1$PxJ=bi-MUI`m7_-bG?pX@qd^7AY7X4sfq{K2%t5>wCJg2Cq8C78N> z2bQ|s3%5h?dvKqJO;>%udOjBAZvl;UkNh9P<=iOZB)D9PNS6S8U?4AIZf1J+P@W?+S*a_ANH`;X|QAtlBG? zbk@U9gbpt*Cy_XW<@h9^?SwVNXiFVBTzePciOqpwBeHZ$WQ9&q-efcZuLi@GliS7Cd!=3*a^g z=6tygf>~Ev1fLK34#B%1=T5;rfbSE`d25df=0W4Ur>Mi*p#My8D`dVZcq-iA3ho3y z?`QI_0?(&{=OeD!L!9?)Cc?<`pK#3{;x~bZ_ZsOh!Yvd$7cx&5d=7Xxzl=Qh0+$Hh ziG1L_Mmp;n*IW`;gU)-6I30MiVAlOM!Q2P@4#A&*=V8Gm(DO;bfNFnt%Hf`;2ZUY$ zmvxr(wZN=X#IFJO7yK7qmta;i&O;;*_r#tjnD_lff`@>|>>EA=v>S!qAG+Nl_#p5- zf?3WF3f>R;vw~xAUH>ka&)qi#bB^T!!JJRX`bT}9LR`*aBt8gz@&wNS{W!tf;Bvk# zdHTSeEcklx%oa>{so5qc{-vy6^ z?!Oki8u*WbSzitaPD0#+f(Ju>5SDT{=P*lf8uBM3nEQAiFZfi%J5g{I@Tr2cfz96H zA*59-^bSpZUSUi5JPq+;$BS*8sFV& z|8dZJ!`>=9d>(&8;{FVL-xfOCe$NPfEad!@7-{_ga^4X90r0zmdEft4@CCqec(9V6 zd&eXai*9+ukj=c!Cl=jK5c;*C&k(!`SnVwi_h#5NLf;MCMhuy3&+HQVR-|S27H2*@ zF7(?$SNn-eT6=|lKj_>in{pn4oR5WmA#fTRMAZL5@MIH%hxczt=zJd@Cv>JYS?GN4 zO(TZe06FIpOS%^e{imSU6GP@u)QxL}&iBI&Lcbe$2QhTG60&X+I@>aLSa^@%A3@H& z7Jf)DpM{TD*z8MQ4EobTC+5Dq)Du~tY*+j2sB;m(N5ke_S95BITJ#ab;OBKsu;?cX zo%y`VqVu^%ewO3S7QJ2Qycb@v=zE3Ey2|#R(I-R<8t=6uH6bt}n!0wz83$_*doYZq z7c8>LDTGy~588Ifdkpre_zdIoYOwebq|7V>#Bby=k9cpIVDhQS7g2oCb9u@4W0apU zM&4);Z2g)-kPklUhuc$yQNL-hCJvz5tNa6tVBlF%eB4p<4l7>`-vaR2>E1j<=L6H_ z^_hGrkCJx>`Z+?N8Dr!XgJ8?M3-WS7qr9Mm@j6z+nmB;YQ;_$37y8vB%$E1Kr61)O z{WbtoUI8r4_33ywGULQBjJ8Q!!?y<=6kzp?;k#YP+nz{n$j6fsg8w6sEXu4K5ID5gD3PL96l*zOxmotKFdGDZt=NcghGZ5dq zRqSLnI|Ow%=l6sY3nqk=>3+^{3>10@Y4M)J6A|t0bms%?v8#9Mx!Udb$j3KzG~=BM zTegFw&G%)X2Yb2^ShcIvw5 zc(%;X++B|}t@@?g-n#3NU03XSGOS6U?U(M>=50?p9iO?W>$W|z?TSy`rnQ@o-}Ypn zjqiJ1-cfTlUr`s10z2F;zp8|MYi58?HW2!9yZq|-Et3#m)n&ihR98{`aeQPesJH3m z8^FOfy|=>Ac(VI_;CSCN_!kv*z%&&Q$c&3kMLkiI%i`kLLm)VwSkD5C3y?)my^BjA zPI7__4gn_e&yVl*c*a$_#06giRLaIHK1B_v4TgCiI4*nq)Gg<>uR(M?mq;X}N#>tB zj7z0tHWMyjGJNqq-nv>uHkk&IvHfXJM0TWzY+Hnmmd0q)RJ0i=Qk`;|iG~Ld1g85x zhs4ynT0k=C$&+q6Gn*!zAL+dikfA~|>80U4>85jaRTe+d<33bWM`_CMS?Es@S`n39 ze2cp64AY9l8%6M>kvXJpg8zDiD{T@iZPfP8ID|&H zH|+6d`g0_&<}oB-OeVj4ljvy@*? z_913_T?-;&(k2-|Wq9YF0t>;0#Y&?$LQv~q^pljxJU)q;CS#kZq|vai#OLs9^Q$v$ zJT2 za+lqA`Uz_)w=KPIld6Fo+{#{$GHk$uzd(8=!AFJ0JGY+SQ= z#ZDQzEf784K2$%>)IXn|7;CbvGx zk41Mg46TEY?dh@7#8Q{}_l!xKcZ<%a{RcTNV2?@nh2I{N#wT3FnDl5JQU3QIRO195 z?P$lORrA}E=8xz_V58bDQTkO2+2Uu*Gi-RaEZ?CttY;kaJy-ekAGt4y^4GvmUe-18 zuZ7Eo1M3t0t#F@KSo^&@4CfXc-3W1ax0imJcwFY8;}N{)nn$r8h^+rHENmDybctD) zdcvB0#d)uB?0|VT2G;P87fgQkgBkiFi+(;ZhIkutgG_f>+=1?KgV{ycEAV8&|~yaevo z1anOHA;AZMpB4N=;1>kv<2pM9-vIi1g8u{fW5MhL;a57-{SMrLf_K3kD)?3KvTvL` z1K^$_7-YS_2k4Ii&nF#eJ`H@a@Vp4Tj97iN$zC7euLPa_pOpC~aErv{eRPKv_Zt$I z<#4~y8TSW*N5kdvLZ-`ma<9;tF2^OA?!~}=5PAmq{wDY!=mGf2gU%KwL=3wQ_yl59 z7=GPy?0|IEC64P+=l*axu1h*iiO`wurNofQvZ^6gpUN^mhPc#WtMF3?j(d{-Pr%9Ymue~93K70Q_3^|LS8yDyqtm?mXs;cj6gwafrxWxD%!*@54o^xUJpANsF z&mu+~<|m(ZhF&jpmQjO6UoZ5h;U1|8ff4GfdzNv=!P?(945R4<8v|PiOVfeJc?Vp4 zKdSf)!T!Sz>-J6jv%ZcgIHR;|6OnC*cG`~UNOpTJq@SU(W z-$2xJsm6?^!WgcekBXxIxDsruXzk~h3hwdN2-6Ik=^xiOX!zmm7=1$rE z3-kuBMKATo=nduyf8C3m;_Xr&XxlKx#l8xw-EAMd)AQrtFWj{4TbnnJclX5{V90u) z9d3Tnl=)6aHiazjWwJZL|uB$ZL<~kiFym;+pYoAkE zZ*~8o=<7P4L%cA3uiHb#y1{i9q$M~Vd)=+ADMkH|77^xMbo56()^#JQ&svo%GD;Qh z(e5)4Uj#|2v)4DxJrCILB3%(4bM0nD;p0gs7qe!p2OCCsaP1@yu6qhF@Bse&G4c3E zhn*Hr9JAqdMNt7t|Cp90P~x!mRo6r(HkNT!SX|&Gz`*AwC@%eR4`zg67N4xF#ZFvK zm^V+Up!>B|V0`c`umrL5{T1L>FQq`>9!AqRfjCB|90+oD44(?Nb_JYhs}XF9~%NaUcp~7|C|(G5IYQ1;OcniVTXZR@y{Iww0ErbCX08R z@?wVp9eRQ=bMP8*#|yJ~Pt@KX;+>$qN#dQTyx3tt$DO3T$hb7@e7^?zs3%vjfb@)4 zscH~A3_OYel{vD*fW}kbL$FWdX~Z!aPj3Q_bAs6U{&!x)Su7C|GMhOZ(9Cm)F%W^B z@44ZcCe8~NM{vF>4ozRk62m%nio(wKYrF_Uxyyq@9!4yx3@4V9Mm!3fl&N>VS4EMf z3P6jVp)Nj)SK3ok7EyU`hXE?5s!#9&%FO29-Js=62f%_qsuaAa&EqQObfh>RRn%dd zc^w*FABH!C;kGbr;dN@>)-Y^izG~|BFx){1O>y}{^YNU})9o~&bPx!640D6LUuimF z-S!mRi#^Nga8P5AH#<$wiWT%Sgr-+-{=11M=x2}92fGd=DItCD5f+w%+piN0{azAM zzaIz)Jp$05BFHs>php}U@n&Ir1KRUtZXw8n7{-I3{|Z3^Wk&&DgGAzN6`P1WtpLBi zs92+W2qd?idg+Vu0(wI0Saa#e8O8Y=bK?$Gx*wIMQHqnxQe1c8`?0LlyNIpoBKXX6 z2J_E%mwt5eN{0x6i4R5hoC&n)!#+oP!xiJ#RLo>@C-bTl!X&B@D)c@T3OJHp8sB{` z8{*0&HK3s#eUj!;tzjRmMot2HDSJYAd_@lj1?{!%iIHpDlOhiR=wS{4z=#e9V^Z`X z0IA_f;X?q@>_Y&s@4p!k!jniJ0)Sor&8Uys``;V_kZlH9A$hYi^g!1T83@D38>*2gtUSXKT?!c<8H;C}9?w?!2ygAaNJHI; z7}Y|}8x=v|Q!fNt2vJY~dKsEI&;r5AkWQ&zlmcZ% zrqCM{A1vvfK@J&n2LgQ#XP|#|#s&Yioc-@PP?yIfa9~h>ADVH&Zr8Hwu|8Ce!!BUA zR=Xc&Ej!l6qhY5<73=Du0I{ldvFblN#^?Vx|C|`t|BI{VOg{hh0)L-5WBeuePM+(} zy4`>29Di^QIJPN{53jE9ud29vfd9%+^MzB!sNuygd#Hn2c&>NG=Qtsbm8dLLD}2?F z4##kHdQnkjeRWAu6%H{dz0_Nzu9l@=UZPJrFsJ5*S8Zd2Sf5Q$SA=EoSXRuFjP*Kk z44RdcRjvw;`*pWOJS_FAx)xk2q{EDg8aCCN0DQ&QgQH^Opz32ZRY4DGn>!SBv-@@9 zMMXTW0)0M5xNIEvUun&1Mo>e)m)BHaU3k576sI@f%#4+l%j+wvpoy;2U7zQmZw56| z-|evu_NsAxcjKWUi^j3dgBhJ{pUl~EQ`MQzE7 za&vK(Yc)C05{Vw`wL{rV#do`9{D{H!@hKi{|G`Y)$(Fwl@D$6>FT#^7e}RVy_8&YM z|KU`l^^p%zi6iIfiI4iREfzM?0pSr29ec(gj%7HuY#WY6&lW-mF2{-&S`2K}v4b!K z+X>6?rEra5xb@;cx}jwAz=(XcnWwlsU35#-oV~!Z@Zm*IJ!Zmk40Z|JGNCVnTOo9Q zDXbFu!*Drv#<*MIviFggt@w3<$-}P?$}EI?BP@AdfZHN?J>0usjXvKL`q$y|8;Nn> zf%`Np*R;_*4@)}ZvNzO>Ex!#+`JHgzgC);%aQ`Bh{C^Y7?<;(5Mvg5b6F7F5Mmq3X z;6uiirT7O3&pf#Kg4rp?dd;}(+?r;1V#4buF9dCg(7C1&%|6BdByJn#C*yvGxN8JI z4wv~$I=e!f1&;-PyWl#=`I=xK=*&0ra~aDOFuCis6Nct6~a z1ouZ=<{M>lyVGP?;%~yu6U;8ZL4vuygM8%4#VQzynf3vs_I7*OpvM>^NSy)X2)LFZU7>7M{6 zA#LJ`pmBOLG1tco7tF4+iGsQQbCzH~_|^I%@DBk`wa~f7lk31J=RWY?BzQUW+%0%D z`0o{bG3ZYTz6|(9!8PFdh2Ym9lXLMYa|vXABA90;#KBK`33xID{|s(F!M))gFSr0Q zxn7X`0mNm#5Wfa_C4zY`)(PhGxIyswkbk}4U%|aca1ibTg0BPr(}H_~|3$$px4nYj z1pckyXTbly;3VL`3Vsl74D_RJJi{bK@U?Jz3LXRZIKhlJTJW{N;|23sG*$59NcVJN zTx$sQGGckm^ZXIwD$rTCnC{i!YZUs=LFYdDjLZA)--OOQ;l{8kF0eXBLU?{C{CmLv zmf#-&bB!z`dPr)O=-`B!` z=oZHx4AbVd)0Dt9m~Ai4eW2+LYv|*Mg+4*(A-G3sLSV!ts%JjqP@W>tg<%*?FIW_d zQwU2l7hOgi9ZLr$55rhL2a6wWr#0)CcJcYNc)W8zQ*A+k)VA4gzJ{?!AUIDk$jGWG5*(yf*_g=B(x1M-;vl*g)M)&`5Mb|6fI$H3If$fClc?r=g*241*xDxKorkAi9F4T&= zg)M|#09y=O1KR-G1p8h0c{O98vvXhPM~%N}+~3&Q7-*Z)GQXv$rMhKJ%eIzXEnS_c zVAkhtYS`J((AiP2H{LxEJ=cM!A?#|}*0iRnx~ZsXe$y1_GhzMg_2;j@bp6%qpV;uX z4IgY6IC9*`86(dgxpd@J`P=eu&)=<1;BXH(9lM(_(+#!*_GQ>k*nO~U&ZWYt(;hIB z;<>HA*g9hEX#;u!XP-V2fdEU>jhYU_-d}0@y;>1+c}i zHLwk^O|T2yC2pO&UX^BdrEX;IhTQvM*Y#-ab61~l_c66%H)_WHu!RWgN*5DveM(!u zd-^@nFFM|)QwDan#NQG7Kx_<3a?{1Fg?A)8kPt0xeo@i<>iKKt7a}FQZrZVIxFtSUYGbZRbFDUjy7t16lLdE?}zt zn!~ep4z0=gsLPv2kNBV^KL3L|;~$KVK~3DWuzmiw=07<u>DSWT9n{r1D=%R-7tdNrdBjZ{n#ee4cf6GD|mk z_x*gF*ph-PddGiz=ccz(kZ*h18d{5;l`a`U ze_noN{_6bA`P6OIO-{#(bn^y{Q7;Ca3bX5~bz35`DWgk%tKel}?n^gM! z7qey|V5~2eJ*Aqlp_Dw=B6;6HH%{*w5I z30ld%q|pZfQR_e)b1wclWlVd=YHzZ5$0;wSjOox5gjvs*P8u)F;yqD&dx&>}_9lsU zqVi(Om=-ljd+{}q;Y-Tr!7G_cp90de*lB>=N;+jB0@T$fO<~OzJoSD+T_#D>h;^AH zO=tCtbCOe&PUGjUjyUTn5CzX>HU~6)4sjBh&)^v^nmCU{!Sjhl@5Y zVc5nj))Kad;SLY>$Yyych8{U#nEOYi$v~q?kDe@N&DKjlcn~BPnw*joD>uN9#Z=860D{q|R4>ER2UwU;Jr5wj|ZDKWj z$h)8?X*`q)Wole77CgBck7a%j(D=mVpbypslidGVqi;@X*339jGBt<%`qoL!6D4Dm zlBrr}U#!+7wKp$EYm(ZBI9{ca+V5T9glwMMlNw^pNz?R!zeLt$Xgui8z*(Zn0BVx# zON*~HTBIc~Wu0wlL8XPB_wGxJ-3F$th4@qVURn}U)`HSfC_q)a^kH`cs>hL=KJiiD zobBo*p-4&Ti{s%_s-&MCPAdJJTfpgR`nkmVeoa4*?Eai(P+DJn`f{ofl*EotM{q9n zaMNez1802;e@egfg-X0uY7`aGuwVu_lrrh*H8sFG(aTisYh3qrCYN&+{_%Kl(Go3rwQK{deKP8>{&T>jFVn+2}nIF2$#g7Jay`&td;0yO22RxIQ4a1tV%40 z>iC>we|iP8RR=9oLA-I&E18bZ$%soopE;1ll(Hzq$w*3Hc?*C};d17;hF6g4q_B~} ztWyt|L_A7Zxl<^v!%+Jujxy4t1W6Qk^X zDJQJ;B97UPu$W~$p!E0~$chowJz;bl5@)CcW!Mqd@Yc&u9)lbyiA zaP@U%C;ibx&FRIRAeEGy9hV@IhBt@d&M>?s3~wdO2<4{Tiqur`{nMD%1wD6q?`-z zC*_vglT7MLa(gp76k|+Y;xIJ+vujJPaPoSn`!~oad1=Hx!<0RbOe-p@oIF)UfN_`S zsaGQI@=#v?6<|=;nKytbYdDZpCxt0o11lQ$E-5Q@3iJB3gQOGdOX%b`LXl;jGVn7&C7qWhrXU0PoXew`cAFkkq}@)4cVZJk08Gdg`|xo({NqdS>@P16--r zGl%lBUPLr~jlFvIxB!7lpPtF;Ii6iv=JZTu_Ur1~GmXtUU1fWw6YJ(w&&&%EGdG7i z^mO{h`zT1=D?R%$L6ynUuKgLDa zar!v3{zK>)EFOL@xkJRGcFh~AJzC!IOAy^A93M>>$tRA@F)Er+@aHIw(P2XWr;)?% zI6M9cyi%Jm{&(nj)`WN;1GQ==v$$=($zj3(1Uc?vm#WYp5~k#zl!6J+^h$_K@7I(5 zT@Gohy{Fyw^TBu=y#x~c3jIA{-S%rua6+ogwHKbp$g^DWFlY$9?qjS+CaKU7^wK~cV*D3;Bfp8ixDORot2q(($te1L4SML@ zaW~TY9bC8DJ_%9P)l3JQ0;Cj>VLorLK}7Cl{O3|xxBV3akFIpwT4p@WXzauu;dR_P zGSQ4kpbQx1x!Z6v$Ro2riqq4BoiPkMAB3?<`fxJ6bRjOSX?H`zs4O-=r3AOW49^?9OFikq^`G|=mc2D zE#>_{b0MtTeupQjlogvs7gL$P7(uF-%I+sw7gJe2G0gF^5qvFdSH)De0|Db$OyTm8 z%UHn36JXu;4lpV8UT0S7t2~{-e4M%MA0T)<|7a9x?unm?S0+vQcDR0K|3tFDGl{O! z-#^ID98m=SAXSc7L=%5#MBt$OU2!_{RaIHn6S;v8QI+r5!km%ly zV9EBHkQB2ZBh@U(NYm>+tW_Q1bsrh_x(}}Lkn{iWX3^_DvLn}hp*8AQy?{D|#sm<`Afwp;o_43g-xB8yvEZ zg*PRQS^J=U^y{ad@gKT^f+69vKnx!u%Cl7{hx*TLb)x@WeGSzdynX!`*Zu8$q@EcSwq4D5RciUZL_1BT40gi&Ega! zoG%fMxdIr6ce+dezxAxg{F2(zWykz7F*p2}%dA~8=9tUm9%fQ3e8`S^97e;*0v5Y8$iK_F*HB+@Tz|IPe4qbSXPy7vHS6xk_$bB?pjH(*^?@9W&H3Wy#Q9Sy z{Plqld~RG|PF&!W-z#`>TwpRe{Hp>@i1)2Eqn0kkdZf3Ub3Yp38=nz4C2-&6rw1na zlV0^Fyt*`ynO|`FdH%$c{TBw(*OQ*GE-*QeztW$q4(43-p+9)?(r+&HCsa)4L7kUW z_;c3z8{LXb|L50+{8?^+Kk42K|8UZ%Wxj#dg}jVIK9?=~H6|ImZqz1uSVmN~ za(Q`~gGE8i?jr1uSB3&zQGGcM)m+VGOqb$tr&@Ikq%31XW*1@SzN)J7)#1B+N@*hH|d9BYy)t11t>+o0Z3 ztfZ{0)+sBgFNxmZu(I~DqS`Vltt8ggX$ESwvJT5$uy~`Y6zB7;3bQyh=hRl#m#a!w zgu^x|7JW)p<*VwQ88a3vntukeqOPX8s;=By-V)vlkwdrko`m7e8|@QDk#psh$jr(z zRL5Ez5s0%isVcA9EWwgP1MR&G>*|a238ZSp7LqEj#j2d;IJdCs(mIEck%hAX35;V_w-l|Y#A#VYYP}5>@Sq$} zSCDz;jt(DKsrIOh%vW6A@^bqK%SF@16wRDF^|Uh`+@-5lJ4mdi8cNn_CaGadR@bAu ziT|j8Qrl3oAWN-M3lp(qtq2P}O4apS`%Rv?xagdzvllxv&Ym%EvBN}X&pUJR)On}Q zaHNjmvR9Tnth2S{`l=!>iczLcpT0pEFO!x5{1`~F@uk8>(8R{%hj=DRV!3wNT@%RHpL`k~$gUC77Tab+u4tXN%S&H%-Iy>i6_ zTw-N4?k?0mX8sjr)k__&(_|VBmZ9Np<~^m)rN!ZA_ zQ&d>orYpKWhc>(*G2(`i6_1|!ST_j?k?XluRo70yIyF__9QD2^!alFdoFzE@RzIBh zY}B`E#d3ytxobZY)kdeRNONb;I~@hGqNI*Hjw;2Gr#yi->XxZr#q33$Q>>=Mj3%-w zt*CS*p1Y`aUIwbitEmy*UXDfBEmfZ!%rZ3Ph9z_r6}XMCJ1d^i`emu=PP8tyT9KiaKDI;P|)>M7rfSJXP@ z&aw`TWYYkVq|t%Zn)0eZS!0bTwhzXuXBl6VmDOb^B?HtO4Npg}P}rKm3rML@i{qig zb^b6bq~$$}t5GlUTHR9MTO1FxdhR!jrx;reqsNC+L5;RlRHsg>0#pweh(bL#?SXJ4 zJl?&BAetyx=(q%nAIsEBms>2eU92Bb=ak?{22E5;OW)ULsI!#i98U>@PEQBu2NwE7=|ssE>*Iw>?1Z{1;`@uS9! zDo{Q2(d%9@y5Sl2B@}o*-2;tvuwAWnwa+J3bMs9!c7WS5*)LIM0^za)A2J)c2lRUG z0lk5HKwrl_pf~co;Y~bmcr(u%-oo>SujhHgTY28_4Loo7MxHmkjpq$FrA$puYfhb- zoZg-`H96xp^ckxjbCVQD7Ld+5rqjrD)-#BhqQ0A9jC(IHbBWEJ((zn<3 zR#u_L%i`aXB}@1vVF#mbMflNTs9K7f-R9|ngyzTJzoZyFg<O`4JZASF2KOf2OwvnfGlvKGe^WV2&Jd&2f2{UETXvMES3QpJjs1 z3#@gSF%TPy%_+r=t`2KO~&>pYl85($L=@ zBgh}YZGq)8f$4n)Yz*ad4VImL4n1NR9*XiGALZwIs<&bJETH_8fyrX7cV3jgRQyKY zdNPY)dJPgzGOtIiM+G+iof2;3bE`v!8F^g8XAI>%3qQ|phsLG5=T(`Z7ELj0523^Mw8^_`%|(KT!NeKkh3{LnjU8F2I7s@7l%MD(Twa-HdaY19 zNcR|ozhsMwN>|jBRgNjDn-Fex=oXO)vcG|f_+?sFIo2o>j^llcdwR$Psm88HG_CZA zF9!1|sJ~>q51R<#R)bAsaK{?^6F#DmVLluV`3RN1Ej05yovda@xXI%+7xfpS)sPHF zG#}IIpmZKDUR|@gNcTcTo;I%MM4Gd>d!r7Tv$#XR=A2}XbjR=|3d30i#H{CN^C-+} z%V!wroN010aW4K~3So`Ri;0;C%o12)%Bc`cIhP2goGQV*e`*Eec2oPnGcMl{R|=gS zqz$m?+~@*kJ#1WG1=arW@q&4;#t42)Fm>pFH9SuPo47v$=6(n7!A%BZx|%Nn7nt;H zxS6ni;P1m#`@#yvCuz69YU#Ft4#dFt3r%Rr2#1#{;Jy z2LQu0|I~qN_4%wdI-EG(=-W&X=It(S2x;H{F<@2m&(&0Gc1XKP5!IXcpV9GBPO!<6%GcM)N12)&l zwY}zA&K1nGxN^c=OR-?4RVJ8eEfdVNmJ4QD+z+2|nN~gVFaVfUf+_!M!El@g!IZyM zFrd>UnEW>hhNI5UrA+d-lg^tSX18GS-zAv*djymJUSiz)H1`W8|HFdeIFAY@|1-oQ z|2e_re?c%D=Vig6xwG;N&u&h6iB7o<#n|x4bCqjS9;ePX^!*Tv1m~yyphvAPC zOn&aEVEB^-!*P1z&!pRzbkTW$V8$IRm}w0c496KoEM+uCF!{#|CjTVCaGdG*V_MwT zVFTXwDZ*o{I%DttEotI2D3f-!2i%`c@^F z^{rMg>l@QZ9{~V!B{2lD9oayhk&5iB2c|yT;cgXhO z2+wnHee*%9GA?x#tQo*wvmHhJUcdKiuLUW$|+_4YkG&ak+N}G38GZO!?ev zgmlWEW%19o_<24#dC0%m;y;(T07Mv`w@ys?#lS41GPp}%dA+P}RTi!lo}1y`1e-ou ziE-#BKizv_&HMd+!Ib|nuxT?qP5M}!?vDgh((}Y2BAgj6m~r<4Q@3Bk?Iay>Y2Fr0 zp7)8RUGbq{(%B|wo#eL%cJlS&rVAzy&rVNQGyZU2TXdeIZqni&4@T#Di@u6D1R*dy zFP)e&d0slxW%`>)7oE2XCJ*nW7~u~JhJ)_~&~Yu~$rcPpO(>1&ujy>25YwlOd>#1zQ}9dB?Jt6FLYc75#_KvC*VRWb z&y8UljPwJLsm|*G-Uc4Ft4QZ}y*T6_*ueg|}G z5S#}(pRuH~+;0~AC&Z<$q}M`+`vsqZe11YO(|JztaiG5=CgwN?fa@=t~~sm z;JLsD1fPWK9RNRd&WAf*@Z-o6)-BTc3|nt_5O15{8$tg}@J`TEkT&@*fX=-HQ~x1? zuR&TT3vPtYvjoRO&SJs*7AY2-2L6>6eT!gT_fEmDL(U$-w?da63TCA^0Q2{XpERf_H=G>w@nAep)b}i!TZ0o`$art_RQW1Yd=8|04Ja$YfiU*HVbQ>OqWfnslLe z!hakw`c-Jg5D(IL3NgNSXyy_R(|92ip`QWz8sd}earH}C$;n|Bkf0GT#$A_elJhc$B7pF7$_SjR`5BkJR*JVq81h4td1Tg<}{)h5k3xnUe)`?}2H; z!*Pp+g0BO13bKOo1OY{GPPW+f) zzBir`9)8QbK@9!hg`EAws5e|2_p#6)1>H^6Jp4`!664x`0DV%0{x+_+pJ4V?3>D11 zFGdUIH|$Boh&u%IsX}L;#<|2uZ#M8!!Og(+f;q-^jqtPYbf@48fqzL1nfKwk-ZFIX z?-M%r?firo@;?XNk8d(w?|R@|3lAWMoDrap5IUf9lF;u&U7A4*IVU3BIYK8-iD2gK zrNYBDOd~PUVl}&2@F3tjg}({qxQ7_e9hyf3j{|;6cuvFp`z$e@i8QZU_>aWUhkeQW zgnuKSV}kjd4C1?!*R>8fTQJLXfZ!15qXhH0G)eIHkk%;{o*}pp_v35}FA)4+kh9pr z7YOEef02bN1TVvNU1DKg8}o|w89#*|0YK4tm}9`?@j+(D!h;0!9%P*+58L3A1b+g| zx<&fqaL*9@0$lY?4f=b)7YUtxpJ<_cYz7(3O54xv+zK{Eugbb zlb_}!!2^N0KQZaV3k9={s>YE)CtfOarlr2YL1$TABlKCotfQt5bG(C?Jg83UnFGfw zYht!t41b6?34daYo+wtO+g_AAs=dcgRwG~4ABn5#4>0dX^$jTZR51h@nOHdIrKNOW zBpALLjXpz(g+78<@=fKn(2Ipm+Hzu{*AR<7S6lQ3V#r}xylv6n5jx9sI`d8B%pwLq z@0S{juKGhj=e^Ki(bo$<-!CfvMGnWCD2MN+BQ+r~BAO~Y#u*38GBAc=G`(P1Muo66 z4Y)bkURU`FKf{<6gJBs5k7{L-P${62XN)}NHOtxXai3n>7{1XU5}RQ1$>l0`!#6pK zZvgmMH;gfSq}kWeIR)1N8n1(CnCno_82F9hx94Se#u;PeO$Wi2S6GN=C!XV!$Llll z&H^@Z0G*$JVVJpiD{PsC$#(!5zuSsvU@5}vbZ?rE_dEibE^h^s?kZpt2hh2xkM5r& zrZHi4z_z@t3pF3*p&8-H+iJxDbe@5{5P=vYZzKG+yvHGL7HE`*?D6FB`^dxrbl!$M zEdTV33A+UpTVBi}-Tz8?X%fcz_YGLaDS)NvI}m+Sco!POFxu~kYxtfYsr!_p`JNFz zLw^H&9KSV&I?+4{YwI@@`t1Xa`ejKN^`ov3)yh3sKP@f*yQ!pv8!pV5x`f zrW$D5i!hyAF-j@shBD@^lKub8#)*2jMA;%y_C-|jed`t@UhH)I`C`yagTp7GNcU~v zD_-_y>B*3Ab&b;8-W>Nn6<^D=7f3kn4(J0^%K%icefp*1G03V zi@l?l?uVD@$Jnd*WA&Q-xbT8*y*54GJKGP7$F1emNQo~lUAF3K;ESxZ?1;x!GyHcy z#aFKj0~T2K7)}`Pc8w_Jfd50+sG3PioG4U>$z8ZUZy6-AN2)s30^)wrYXQ|Arim?9EZ4|0q`)afZG=c+5&8yp%~z%Rh9< zk*9&0i*Baat10u|A_@rB>&?C(IxaxgYE@S)4Jk%Ov*z=AD+s(mdmY`O)4tVn?ThAp zs|UuHo_}l|BGk=f!+oPKn?SjLam#60n{969gv0xO)?YVKfje;?g} zL*{-~cbZr0l@CeraTLn;kCS>%;@$@_lc< zBhZ}j#+L^P&(%nPWkmi?xDy5U0=-ah9q|~)(GZnV5MN5 zS<@hx^`=SiwQz40JOw=W2u=ciKrl1naf9JLEBN2xvdv)5F+*2`Blrt34lL86VOzsA9O!2l4Vudl?J$nZ7J#P8N5WWcgJBs*y&2%ngtd*4 zHv&YqmPwpKGQmuM5bDkAQ1=d8 z`c*xI%QB$(58P0jj1c$28X=<+4sjlu^<8P0_oWIS-;Rc5o`LhW^?Ti2`Z zXV8tlrfkW|IXk>Bj4`Uxh3cLuKw%YvsGngv-Bg4|x5sNx|Cp!77D)yxKqkGM#|;c+C`{%n2xibGbBKNP(G`?EzA<_EzFX_`;c+} zvmRzgvt+ZQS&F@vp7w`+R_k?P$FL(N-&|f~x#II%@3Y}uoBALRGavH79>K`0;TrVtHG-hd zdN#S}9iOc7$@{90+BiUEXgE=?=Gk2X-Zlux$wRvdyu1u2ycDbCLsC@sx;wqALgaQw zUeTzXcDNJD5%x8hcOIXHd@5qy^o>5Oo8H#Ny6G>!4!WCu2ssP6y8HFcN7E&t+T7-8 z|M&Ds@C9%8Nrd3H`y__JZ}&-zf&U~}ZS?ub#>YO1S@1}c0_bS_B-jcMn=ik%IoVsA z%<^X+h24f{o9C*qc-0148|An9Fua<7)ay{YzMJg(fVDho{i(Tm^tVb(rdCvqApkSa zd%~u((*kA?EV`)`o%aDT%_vwCmt{%JxO~`0^oJmGCV<9PCBOF*z(mpJdtdd3sAj27 zi##*%K4Ejbxge!XBGL$qBmk5#!tF#Aj%5PUh@7X=T8yI1g9#Qm+{190CL{0`i|3WlTRpHa7g zz$u7BOd0I=A?A5B`GP-$J5F#N=(7Yr2zRmIY|x7ZKM6U@1^*WA^@3l3tHy{SpVxh> z(0>ekkKl2T^MK(0g8K+DXf&LgOWmG<`!aD4O;_{kK`#g2d%|-Mg1E+;JS@Xxgi#Lj zO3j}~Q=4BI>a1eW`+`1+Jdne0s8cMg>J|8D5bWv0`HM!kT+-F&%dzWIn#lykKqX~* z;UCQ(r%?G&zwvFh7&sl4JPhOK+FMhRF&mwlIUIL5UE77$bxC zr>)=H_#$E1QNIKUWB#f86|ON$5Q%Flj4|@6L9pe026>E6d8{%FqrU-`aSC8*xQ<{$ zlsty3X8>HoHxWuvmNDd^-6^i2&jnwh@xW!eG&jN8`UUX3GuI2~>Bp*T>Hwg#74q&O z5W_TS=vrz!;kf6PYPhwFRdxbFXy{-@|Z26^EJ#@ocS<2!cHj@ z&Fbt?%KRfctBz4ulIcJScPagYd%>iJnH>HS9ah%7l`rm`vgfcw_B8#gFRIoVg)J>t za2HT}gFbBOj9st~HKtw4kiVxdir;5;U(_J@?Y^jy@Y{V+{H{6)R-63?3k_86{)2Pj zhIRVq_eGs2`tjS8eNmT*pAOsojZyy1QU0#_qT~)aR#R)dJ}&i0io72V-zTM*^|zMk zTgry+rf=z3_e-4t+5F~Wf5SEuaCiMu?2j2H{42q)zQ+;wKG0ZyD2MAJ<_qRH?Ad~6 zAuhjr$uk9bh2YoWs_$IT<3L|6^t<3*C-`E>QQxHC;eJ)yg+3JgcL>gd`+#8bz9`u4 zmzs;XzZH6aVAC&^1^ic`!|AeLDi%DZUy5t@O}`ZTaZJC|8er2ewE_I5Uy38d#qjgm z--CS9FO>

6iK(;ig~eR`8g9slNc5eyIt-reEr5;I8_m{tP)?^-Eobv`oL$_Yn8* z?UyQmeA6#Qj4lLk?FcT<>x*J}|Fiq07NgT+F?3?z1yuF=83v2r^bP#8`la?jzprw? z6sJp=ej4_r@cRTRciAs>Hp<%=<~2<vAce$htV%}dl&NZ zPaN0voT$U}ON}iUd&G01I?>^3_e*h&La5bo3SbLi7r++7*1$HvHo*qk_>|PS7d78$ zfT;gJXw3qjTn_bi+u8Yy89;0BpSz^hEp2tXIz{Z*E^2V6-iDj%2OF0^w&l^4qP* ziqEn?^iDr^pJeu(1gzfGF&SC`z72?(H@qrhA6yKjd21b57NqkHm@Sy&iTo}joiaFv zON?pkht35+qoNRW_00v$Z<#~BxtJgf%a!XPhJ)vL!8gL4DEP;43kCCAW`^Kg;By4G z!@XGWLAa%YH^8kC{3_g)f_ortgJ6D7H3=RAm)|7R=TC6i_91=@uKMNz{wDC_LWkq6 zjTi{5zQvfCFneJc_gc8jFSG8PWpBP0IJe(mz6AN*M8lV%p)0}>{Dl|?mTA#&9BzO@ z`j25WysucUg|IZ-r>YpPDl51QW7~BwEaUiLY0lP;_iyBl0L32DJ{;e8@R>LiLcY%l z#F((r@Z0*WhkhXhQa{!~qu(@O69>>a6CQqF8)L%G0>NO0aWDH2ffy6E0De2&yKqq~ z6Q;}SGwD_Wn>c{ZAK)2b5ezJoIE7?_;r>O;SISfO9bEcVorGHeOOt^N=lm372x%L{ zHGKC#p{~9Oc<)%z9qtn{2sC5hRc15(i3^nvd%IcJ%UhFSMqg70$od8Xc#jxk(xU4# zM7XO^ScM=`NA)~`%j%6!3a?H9I{XH@lt7G;XL`L=O8^U(y>$|Y`6d`Mar^{5s@?s% z<=wc}hmaoc5i~9F-GXm|W|RSJA?yO!V%Qqk2G}OpFIdMsK#5_?RNZ`L;X_xe9aQdr z71lBH6M%-g|8v(do7|%|+&IjqmPP&FXyxn5{UsauSs5Q4=|X0^aeT~H8+*;~!z?h4 zxO2mw7IvfLe@XM+6yKq(d;P5YSNonfHJ|q}>b+;T@7b2L+xG+Ex7+t@SJ>@)wjaV~ z|G{bSn0Lj|&l~>o?fdzn3?E-?-(M6~PQB;6_Pwbj$EJC&?;P*G)?OddW?P(wuOMRP z%|EhzKN|AWVA;kUg~YmR-?Oc2+V`sv&$REK0xlFedEhba`&3}lzP}FPrhWfkz@@@p z4Yx+{PvM&OJ;yK_gl@O*S;tKK{&&Fl2+xCX9}rAhSMB?oLH`+fnAtGQ=dRlH{6;Z6 z|ExCsJ}6fV{Z#qDHEp@U)EU+fOLMrkI`2KUdAsB5s!jg}1&d)?G^1guLm@290<`Hf z5lH>Ms7*fxJWEv!{b%Gwx9N8xAk+ol0?_Pq%d9poug~O5besOWkT=pK20jDJqU2o- zA*PM|MQ!@uqt0wGLPQ?D4T4RZo@<(qq)opbe1j0z7-()|??}e*NkeB-XQ1t+mN#3to;syfuc%(`Ugd6axBRxLlRWRan~!(* zZTaor+_aW0ZSH~RTvBhle(Uw1ANZ;Ab#%Vm`BPV~tWIg>+Uhr(Uc&n7Ue^b&&)XK* z_N(h&xbEO}?_alh^R~K%vd!23vhn%GpSm&IcQxMFcw6Jv#+dE5ZrrkQ=f+JNJDai3 z6ztC$I~reZb({`ZYPqvh-?o|9>3A09qU%c3s0JUlH1;ZP{~@cm z{q`zu^=$Ar@DVLrHEGIP-b}J}s4;t$_!y;g zoLWzeCkLLrN}6Jc4e*0EmQQ~b6q|mP2Q$Jj>lYq1C(N5irT8Fl;wQM@@bF}pH-DUO zEdC`&G}AN{AeXC>3j}u~T0$Tpel?g?D#H5g5vk3 z5DHEu_95-{aMcC+(mWW<`5~xrzMtSf=~evo;2&07B=~}(x&Js`#Sk=RF8+OZFKh2u z?M)W%IOUBCi1!3x=4%{r#|yJ~Pt@KX;+>$qN#dQTyuP4#CuwiM#o1HA{I$@B&vz$S zKzjOKs+tf8p7Iz1)P)D9@Lex>>JxxIO`k>_qw(}fz;RAOYVfo_coAo@2qofd<}f#U z2Vo9z5}D7)MCNJYyl`;@=d0q-^o1<3fG&?o!NF_22t&U`RW;KvVo_x{v7|KOG2o;O zoNw*~N3s->Gg$zsI@Szce0nCYw5O&lqVmIai3ZQ2a;k8H=Mbuz6uf}qv-tNQXxTFX z{1SB0ogP=QI&;TIZFRKGyd({;55pV6a9bF*@RBueYZ$gMi#2t781C?3Vm8Y|F(l@M zVeTT_mT^ArrLV(!vYa*SrSEoi-{yeoxC5y-O$V&o{wm%iY#kwhIZ2bp%yb8;Dh;oM zQYKB$ddEG^$mqqxJ7}1IJK=Y5dfz4_#|z{=>rV6`rNaeI>K7Tv^9N``uF=iD(5@C&jtowDYV|z0G#Eo~x!@+vAOU6ptlQ2@$wQtcnLHc7Ft-QGkEUlOb|)IDv09gg zhCK6n5J^uWvQgXrk-JQvPU856`!7PsV6ymzM?q8t*4^V&U>`qANHg{cGe$$<&hay^ zG(A-T!D2_YmT?3YD0fh26=0)|ZiK>=|=)DV&zxRQ;V1aU`W z6+zhoS}PW{7TaoV>(i3fTU+hN|9Q@N-??)yfj|u|ZO-pE zGtYVFJ@1@3=ggUz^PB~n&W1t!1>--z)ptRwkN8X2>}(iB{Ju$d>{)n?qm^20=}vX4 zZ&|C4_-^C3b7~N)mFgV{EA}i-8kewQds5KK9oW**sl->&>LXSwRURw$EKVBNfc+|L zdPl@J8-EQV*6K@K-THCLxTmoH9=3ERS^gYkFB!S5djO653HJO!)9YBNmA!A|$#!0c z%*yLpef0@iA|X%Kr@dLmj=e51Qz&^}l75gxumzkASM4AeVLeywAQ)*p>#p2EFvfbW z+CgxV@oczY2Z6mzasxKbZxVo0G zwqivzUR+yW)m(#6936u7c%wQvq`0{$R&!(%bT&7}i}52?QByoET2oUIH`iNMSt+AV zYGO-^>HAQ|p>)`ko3Xmen&zq~XUI4@V_TMAT;I`=1#!7N9<8X7A7euY)WjN_Fp()r zp*zDV%4O1|EVc^|l<;L>Ctv|^r)q(=J3|XzsZEzOL>sNHy_k4dYzXn)<^~P&G3a8R zkwC~-Q1a{m{J90r=dS;pB-qNU3}VU5cM6s2p?lUpWJMd+_j9FXli7mrdj;jsg6gZ7KLuAs9aHA6RV9iIWk2Ja|JV`xT9k@^GP%wuaCP? zMJggxLp@ZYSd!XaCswztys|kS=eP)CqN1UJo#X8^v^I#-C<|Fj7%Sy<9ZX|VWg^De zS&%Mvg>WnwUKx*atVLrv5{g~w>tR!ZyVonn9U#(J<=eTq0(VkfQ(w{K#G{ST_^N1$ zf>O_PuZX(mD$qnl)fB6*OSEV^v8tM=V+`AH3}WJMqJ~&5oVj4el7;v}@PQR8v{s%*-iA zfaWN2HZir#2kZEDkPd3@^foSU#?+$J%&mj@l;$ZAGCb@a0-RvrENMA-)WN<0B)&MTi;UT(o03l_{c)qn+4=FU6Mpr+b} z@_2Na!Iwtk_2Q9w%|4#uF^@Z5lv=~+L!VR!CMqKRFleJXV04S}xwoJ9Jq4H0k8c_N z7o37k=R0Cr<>9B4E{=^l{N=h_@M;{_U{jrSBL5PO8z?soRCfK`G!!&`F1?D4m`z=8 zc<`SEQ|E1L=`5IVf5Da^`2T?Or~t>-d5upNuwIMn7Y3k%b|L)2p*bf^Z8muVBf~y} zb8K@Zo`~ZCoUCc&wT(Q~;d+k4MSlWpPY}Eqay}Q-xg0k$S8x~L^8~*OopQkoAg>Yp zL)cj<_$}zP2yif2$IDS*`DbRUZ@JiTxLGU+W z^JT#kp~Lj&wN8Z2Uj^R)jK{#poACD+68ujbdk8k`Y6=yUB~v&Jzn&sU00H`r+w+=@6{Blva5ZxRf#^J&53 zVCO->TqpT)!GDC#3xe-P*k20niMani!A!Ha1y6>~dxH5aro%4p>kp7|tyAJPIQ9|z zdmM)f-h?C9W2O#g#+W2{C+y4=%<-a&1n0nJmEi9~XQkjPp|eVG1UkGP`zOqU&PI_l zt!^dGh7gW?Ffr@PFN@Al*x_1kl-~&X(}G_Dex4XMp90=1a+Z0nM@ac|kpD~M><5y8 zA63eK0y)=~qsv*%SF?6_=^#YNX!cLXoI$+KnPCL}OOfc(&>jbl|*dq8o;Li%? zbMYm?UjV+}gC7<=5OFYTAHzQJE|C}Fx=(vBV4MA0GGUkZMaNfQTl26D^TdX1zddW{5ZuaQS#&|WgpYb229 zH4-Rz##Jax=$c+5CfZ$0{}j_)DysolY*zzF_pSzDPuSG}yd6j~vhKh&GK0a4IFb_2 zGio4D2a=$-14%GzK6LmXIcb?Wcd346S3(;$GnbehNH{-*iDYIs7iJYc4r#joY3#!< zV3*CEbRelfN#;ZFap^#EDdNKiQ9F?Qh*4z+k_U0ZBvf(-l6!GlJCG1duMJNJlD%%g znaoWwa*z%r*+@Klm4kL5VU8s_kZ{pt8(`QM7*&gh6H8P^5NijL2Z6N%33DMQpBbPX zNO<#k`Mgu@K*Gqo9Y`2CQ*g5u(`Es8cR<#IGm*HxMmD)xOCAAC_cMw%*b(&_;eFa* ztqFLDUL)qO+Lu0qX$;3o!MA-mDvTm@NJwW?=*)jFr59rBrJW>hv~P8X%Xph{a7H() zx{owhax$KMPuPscR!@^k~>KN*{K z`}U6jARl4fzWw$eHsLP=#5bzA4?5Qe|JD=k-{I-zN^s^kdACIgbEZ9DMT-B*6o1Mq zvqNY%zJA$1BBes{JY?EK#nzSlVI>E}uR8w9joEM%5i{+3VWa+F9Q%3X z0|nz?&gJzWvR{hivPJ^q#eD#m#kC^%`^R?BTX6wiQrjK-5}SWjYm++tpg&ynx8rEq z=pg63gDgAL$-*-xd5Ua0af;utCVU)(P=k=pQ4Pzm8nHgz_Pf zPZRtS zn}1a~u#X$!Py!wDGQ_vx*h}y~q04wv{#oELg1>{~WWnEt{CvST^MdhZBcj^lp8zrisJ z=|Y|3aV!x0C&(j$`D~3KhHbhj#QcGTJ4NIm>%rt|DgR%@d9??d zdILYgbU5u^Yc9g;b@^^-i=$we!*LNP;j*TVqCVd}tk>1?99?g0h?-M|jcy(y#CjwT z8+CY&={ZFFNGju~<8^9pB!sMk+tV}koW}s|UB!!uQ+uWGd*k;g;x`cj#_v#E#2=v( zQzOt-IM0ItorTDZvkAnh-V*o~^A!212!S{~w-|nJ{NBOKg?Y#L@r}%LOur^<8V1mL z4)!XfjM1;>_&j^fH(f zvAS!ar(q~l(_00XQ3zLr`04$2gxcc7L5>OBN|I|;<;wRrR-gL6I}t_BF(<05{5 zi(RY6a8!H6$Bmz8xdpp#Z~mR*j$lsCb8(}oT*MPwQb*Um>AMKyYoB=J-L34Xl#4BG zez#2W5%2mox2$Q2+~Rv@7o;y@d+x4Z-Sy^O|GMjkcfEYq?|1%Vryc$J#N&H$j-zCo zZs~SS?lr07ZlA!&+mR^zHcwKxjMb7Tom>Wr#6h`?Oj+5OpNQba@8H4W3}V|LpJ7)v zwsKk7IK;|6`atGL2uRFljdffrG*6R+iwO)6C zt@XMCY^~QFU~9eZ09)%#46x1fhl+oQ`0(L&LS}$%K0l7YkAx;?;I>Rcg**dnLsRa> zX`3CPsl=9)2)X=7=+tp;Ko36>^6(=ecYtkZF8N=36%RiW@(i#I&1a4UZGM~(8o~}p zHo!2$ZCgB?SfVn5*zzNxk^BY>7jR5yXcTiHrw22@@*|-cy!pHyyi?1MgcdOJ!jFW` zV&qKm2`#405O@5Lk+Nn_UBIqP7B1n}OuC;@w1Nab5=xA!4JAg^h7zM{LtA*CHdt!{ zCisz1VpMI&jHy>z+QeChv$um9Ju)1|s2JjY89AYk8{fgTpd8AK^v zxQh!zAB%yPItVhXgCMh$hhpaFP|U7&C}yr5is>0>nHY+h=N*d4VV5~}*rg1*#J6qo zP|O}W6f=o@Nm?kpone=$gB^P(hGim06GJ39VzRHU8=f@yk{k|3F57j(BMAbBBQMR6 zOys18;u+K?uX8MNR+$>&<;H*Da6X<3JKkxcDdAUGSO!$u0g;rjG?NRe+5uo3TLr4H zdHO21MgQo#mSKK?N84|@5_Zx*AJ*`@qe%aBRGYpI>@#aiN#j0OMAAlJH1eYw25|%e z#gauby2Wxqc7Pn}_k&SOZLVwHKF4J3n%duzO+CK-T=Cp%1FKI8WL|^Ut+s;+V7z9Fw+@W70Np zOxk9SN!y+|B`0*d`Q-2DIqj>WOPiOKV<3Cdl4BT7U$+bc_`J)I)x_$e&SRM&|=%1_!hp}Z5U@zx29DXn7H3ok27S`?C?@f1(O`C}mc;Sir=sB;mBql5qJ&fQ!_-k7Up7!M^MpTS zI?ikyFnKZN{X}eOJ+OmgeiBoE9yT3kb}r@l*ukBTP1i(2Gv@&uSuX6dX@G6xrX8Lb zGP<@nvNW7yIivp1aGW5R4InIQl>Y-da|K@ptQ=V#uySM^&%<_R>Mugrm4c&?w+J4A zZ>@ELxopcu!4)`e7koPO?-a~(^MK$#L#`azM1*}_K;aZaf{~zRY1P2gqv0!q5%8{J}{Yyk%2K}{yIlk%^!C~m{6nr{#9vA#s$bT;Q zLg>FHID&X`3?SpivhbeZJjipQM>+YmK7y}?&M?6*!{#Kx5gca;{tJ$030?)ArGjt9 zQ8_a5a_s9$`|E*~BjY%(EvgUsR|S6!*L_OxIlwx`s~+}$De}8;{HtKzD;tez{}w(c#KfpSc>$lL?v0P(;bu1To$uq^~9$@y0rTyD*R9iK7ug)C>MN;;IBh}xCfhh3^wVY>c*dZr`}5u<*eA?`e0MJ5gf)Y!Z6r) zEjrf0tY6ge99?g0xGkp)8{O|g=&)WRuR|T4BWE;3{78P|?vtY))E?6&h^;+6Q}1eE z9BHovX{1i=l|tZ+-$FF}?1q5xqq@d#DzJtDbbgJKPkRIk=cVY~f&bPk7(krrErDM# zPxZx3MF_;{xyA5%eOEGaT80AgtMD){KUf^ zKQs*Y`XDaIXNg}poL|>F7w((B9>rb1{_fVjo4~kXyY`je_u3aETle<^*t)!J-MV(` zntOTdhWf^eV`J+rTi5l8gR^zPZKF`8Z9b&%bTuYINJyV~+)cW7jyYnYuqtxW?U?Oc!yC6$DV26?E?I|>P4ci z%e|EFLjzc~`tU>SSJ*63*Oy*8*7d$F{Lz50`kV?LSW?NsRqp^Wj$b?%V)Hpmj2}CGRQrubN*=Jj zM=9>);6{%bT~hp^PJ#JJ=HO%owvP)3SJ1LYIJm59Fs8g+4vrJmeFS{l(Q4pNB6hNTiFqVF?fJsQC#H}*{NZFB!SZp!%4Djq9U_k3 zg{eH;NWQ1V@zo6;ZUcF^jpX4rk%!w%9&S5%xZC-u+sV5j5&m;|H|v%H8NZg5cN+~%-fbd|W2nPGaBO>3-fcFp@@@+#&&Lk# zY;0qMJ+QMTi2%d+q%DY{M zu*$o2gZ>`TA=mbrV2%k=-fcAgB$RjiF~YKyj&WdGD(}Ym>6CY4=Ue67`T;BN_7br2 zZnL4UyxVQCw?u4uc{g&4%DWXpzb)SFYp|)j+yCKSly`dS@@^L(Y+Jk=c^u{4=D?2fZu5bacVirtcl#{#m3L#EuDsjDkSp)TF?q_n@gGll zH_YAS@@~7Jue{qeh^O*ytDvvE8@VIp-N+Fs?^X*P<=sXheUx`2H>$kbLg*{+Ms7iQ zw|AkVyxVEO%Depnc9eIEAguCkoHtZ?xBa-T@@~_Bm3Mm#_LX-_Ls;eAIL{*+fmyCv z0F`%J34P_={sOGL+jv|{dAE^}EAPez73JN&3!BQjodDa)yWIh-yxZrYqrBVeu-O*x z_7db?-tE&8&kZ=1(2s;{0G72tBh%Z?Hw_eUX!o z>Vjq<)j=0xW3vc0xug;86Js3}gS+6~M|iNQ(_oVhs&3tNv^hA|UFr}e<5D@e`_Nor z-(`pwG;qspa&UK;(21Se<1@sDZ`{6dcgRr>s%Pq872A6%6?oD(wVxuJEcPI`n z8;Nu{99$ZVg~c9=jONE0V8)>Y8{Kcvu*|tA)$ts+^>S3b8xE6$+YY_yY79p;4MNG_ zGC7xv`04!~ii6vWlRG6051M{F;!$(mT09VIAVfAFl7kB(f$w%hCF~VXED=ua@W#!J zKLQS}4BsaY;+o^kbu9;n+56sEv)Qgu|GqDB!@wnx^I? zBbTR9saZkm$Okud;G$W|x@ZaYE}*4^+s9|xJa?(A!zVmkYNE~6vDzKjbObA6*|vyO zo`Y{gb>?mNU&>?P*Dq=O5Zjq2X~KZlV4Kj%9)B?~+m@}{xBqyB=D2VF3>@_zn7oMh zbilN1BqTDUv?~bMu7w^yTN)DX-INgc@(DvB zYmZOh{3OaJ{0;i1Eem%3A2L+=1n)Q=&UdDK!ZpCux-B zHi~=`j>;!2h5nr)zX!($1bfHva1J)*6SxM_9?|&*!oDWhJC29#zse_Y{y*gtZiTM$ z2^>eFe8Tn6S3co6*i=5D8S?h#y89~ht8oqH#V=rA=epzgk}E~N3`d>oj_t@di~Lw% zo$KxngndZlfbLv(9E+oK-SxwHo$HR{MRcw^j{7;1x$fAWt#jRd2lkaucmVPi+z;=C zTm*jGN`9)!D7!g4ImeS*ISeVyxW8uWLI z{2RbJ*WG)-zZE&hMYT8A-S42w&Yrx-sW|FfcYlLCBJu*@A;gFa9n+EepN9WrVzlei zO&1;3ai@#U?|>J0u&E!~Xqz{AE%q6{qsPb4raB~%aj9+d96wQlGi+O?4x-&=+x#5J zy-w|ogwWeIe=xn&wt4DtZ6{k1v(4Vga_5cXW94MI^Tt`PJ8zuzCgzRH^=B1#w%LEO z+w4un$qK=@{Zv#I=DqC#eo5FtD5hLA_vC@DbJ?6jHQe7kwI_#e6eUJ%^gN)MzOCkW zt(Td?>=foVQ&D#|zyAl!TjtI`!uh(Q@sFnQy`cM!^BjMgFXj&%egnMQ$anZn<!l}hD?_YVMQ$H7&G1KpX zZ!2fpbsN(IC3jpFK5ThM4>b5VwY!_wTt~ON$D=hBG8tD#Pu7+AOXL4kYTLH=EdN8j zf1>oKnSbEPe5V_?Z$H~Xylw4+;rF(+kAk1=uGa0_f1E;d+_!%kj)|+L#>aHRa6`1; z*3OpYgbSD!0IxqM;QF_>w}_6oMY_ro!QO?8+@#MBvrP1mm(LCgkrIF1nrAS`9Hnbgl8 z|4!@+&9(}5h3XDN2eiveQuA8W8329LE)UGManp_k{Ck9D`Jj%w1`ROV2Ti*?Fy|>U z?ef5Tfonv+0by4PX4`#>V7FZ!`oDr~qsZAm+_cL>z5@DpihMqf4+wVGpn(qCK%W;m z*Jjxxm}3xL6YQ=*1ATW58sP2FH|_GkEaRqK9yk+!A*Nj(*lm{w{uOMRc6ng8T^{&b z0a=3vcp)(RyECnxguZE)2i^$#rd=NR5}Y^f^1$vIG{ECc(=HDjgsy3q2c8RkPP5Li{IfD^&;YZ2dz#2!g50## zLQXEnw95mtFR*Es2X@=#se^c$c6s1>=$m$VV0R4~V0R4~;A-fYc6neLHd0=-98esAtrd=MGT!Lwr2WEe8(=HEuGp=je<$+m`n09$! zjuSEM^1yDpJn-)k*0jq5Uk-iKE)V<%VAC!S{B49a?ef5B&^PV!z;{E(w95mteUnqS zGtD{P#H>LB{2O4?E)VRkK?D3J$RkKo>fZ^Q2eivW#^-%9b%0q1n6UuR=d(CR!V;Tt z0g(R<@jOT5#HOxjqm6zZ?9nD2|I5h%(DBz%)1V#CHjfrryGl=a_~=urUmh$G9pv>Ot*|guvTIe=xn&HhSuD?1VbCR|)~eWpaZ3 zuvwlNzeBarKLs7Gaivb-Sr91ZInMeMArPnM=E3j1ZW!&e%oARh_s4Tgml!q;1Bj_L zFt$bVkbXT^1?;sq81@*R_Oj$0{ms}IM)Rr#7n{L=;&_hR8ab-oZUpALOr7d&fPh%t zuc0?sJvgfA8w8ihxf0L)@-;<0jjxsgqlz~5+awGRdMzG3$>404ws*#n8|~#{%f#lj z_dYImEoAD{UgF=N>9E$eA77&V=-Y35ABRlvw!L@7o#rEgj3f3Y3cPpYylv>dE02ZD z?_+_mcj3E=A9`v2F6?4t?#s944C;8+ruSW4K?!HU(@@u}2JEujh%rzDXM>)zpW19B z=7hDmWegT=7@Kk@ummGJ6@FeECDBnS-{<= zA?tA*fc)KLUa;2HT5>;Nx}QONvay(-BHusU)l`m1NtMN^Y0;XR zig;=|7gQXXi*va>N$Rc)6MQr?S4e4!lPBs*0NCC}u)gRu`>`m}b~hPd_U%t+X^^ zp6ke{+PYEI2(f(97~=X-jVodeqcG(@e6^L$lknV+FO7^^wybJtWYigrj!90lJD|7r zA^LEe{>XOGbK9VL@Rcb#n~Jq*SUaVvzxL>N(LO{Ya8q=36INHKXsU2VFKtX-c_CI; zU9T%IR4iQ@kFH8un89uTm9-oWwoZe-ru2w9&vos$^RmuMIJW!pv(Vel%l|`fJMRGa zz3sds;6D+Ybw|1mdGf0^;QrZLYX`Rb^3N*a0`{ZL6_`HO-k+)u+Wi@p@#}j)8)y-d zji0*w4&H_YH*KK&p@cK-8jy#f!?dE#CLBi#z6$zd1^*5@GX%38Y=Piaz~=~NKh!G0 z83=3s&0(_^^2DmEivc{+-}2{mqo4anaX{21_l!Mwj5=rL}?VY9DbwtJ2g3|87XQSkR5pDlPOFxyZVb`I=aCirCN zUoSX-IJXL}gg*NQQ=fBvJR~>>on3<29>-}ZslztSR|IE6|4)K{3e0}*)ZzbaI{d_( zONDK{#6QFNeu8fV<~kLW@4#__V9vY3c4*4i;kwm=*;dmixG(HqDYym4TLnLjuy+e? zfd0dRe*?TrF!TBQg5LuEnPC2Izap6J6>kcjj^p12e-lU3?;3GqU*v3TjOVkEo99>B zB@z6vTyJP03MMQAjN{JZc#duWHey`HxP$32@7bWxo?a<*)HV&$UJ>p^ot_&B0mWr< zVmaEOn2tCYInObzSZ`|>K+}%Pc~8_SoCkqoo|}*FV%GcW^xSC>c&|GQl_0Of>+;u9 zuWL9P_|?T=?@ww3LWL^?vkcLl4I=|+L>%?Ft&*eaU5xz96CEB@57BYcnDQH-cNKv+ zy)KU^lCBHlCRmTK3a1T5As1U}J6;iPbS~uT)SkR@F0NP+J*;-T2@}W3I@0a8_bOZ@B5Iwd;Fr=)IxOhQ1s6ZRo$D=&qi3 z**WI-A9O|N;5M#aVKXG9#qc6Y18>V==M3{q6w`9pIm3Kc+Zfn6!~BIT6j|JL&M=P( zlkW*9)b0%PsCU2D$P&5;V{HG6MIbZZcEKXWUB(-`fxm;{mSEEjaxHY%--h zy>zVFeHm}U*Y9)KB~2;Mi$$o^1E6zCc~ASVX*WsVUW9n5@h49y z&kq7Vzn<uaj3i`g`_yn3u@Kd!!bRO9Me!diS##EWa|tD0*Niml0&_3o9FIMvF^`l>+xp3KY#ivcWHgL&F>-_1?$8~minY;ZcGzd#xprN&L zgKWbL^_FB{bo7Q>u{JMJQb`T!yqnZu=2xds($6V_CDEa}&_c7ni zm4H&I5lt+lKyI=YU7^*oWB8Z$9Ul+QuE&u5W&t^)%XWQrr2_ zkmGUezwLFFwMa+;Xvxub8sQv54Z{MV-VwZFH#C_1FGH*K{snBuVK zd}kXN$IsLCz(&kADSo4Be{Mbt>PhXTkmOTksFT z-$z)so6*kMkm(#P3!!8Bf3tkIs`hr7#4fHw34s}>gb|QvW!~`pw9UogTBuB&b(qj zdg^e@#u&kaA#ZEW_biAjMoX{_CCVodT^oOe?ed8e<${G zKnUjcJLeh^+6SF{M@P>e<82o}vKz-XD%^@wW_(!l9+f!jGS=nP;khujA>v1}8TVN^ z>Ot-CS>fBWJv~#`YG52`Z=mP3toBMF_r~uFh#1$pX8fqG@tX>)VE~<7ILY#=PT@QV z6!Tm&8UR_>tJ8B!AW+P6Uxi+TK%Aai48J#iRp3XMcZ?su8Z>@Qz#0b7c@g%WL4K># zbM+8-?OhIgOn=(rSBKhL1I#cb*ywJ_!p4*0c#hk8IjY`hd}z^@I@L2=yb5tFgI<}( zuco&`=8fN4&;25Z8$Z5>wG7bA8l2ooAdc6iYam2t$wSWV{smlsaZ#uC zZ1<_kin_{Z4au+4@g?JrKW^;AapNPA(vp%A&wj$VagoSzV-CL$dm4!Kf1CSy`;DvL zyL#=_w_d%uWlhT$uKwoL-EV%s_0O$&xBQ}IcgwF@o@+T2@AU>sv&{j%zio*ycU~>` z@8!J$SF%Hgx5s?osu_@Yd&~#coI@Q?kNLpWF-kl=<^$KPfuu`=5u0{$Z;$!Fr&whC zL36_7bYKfRc%=LJiD#r;OjvU+Ew};FE|2P|w7kn)*gXLYo^hpx3EiHIf-#f6htW1) z=NS`y0i=b+lYB#f51e%-LswP~c3BMtJR=B^eg_X0XAs+N-@zbNY+vhOCUMva@iadR z!rTRt5-ga-ej(;YGqb3d8O+M~9z@1+Rxm-dWMvXdFZ`^m&qD`q8fHiihbkF;e^)}m zxy0;+|05jDjr+T~FjSa_2PWOmUOzd5ujrT*Ud_W1K}K+bqZotPB@njw|(lu-T2Jg5f0%zVmqE8oR7ZuPEilW zp_fyX?x!L1ScLoYf~b}eBNJiPhraEP<9shGB&6%joi7+z1b-i{`W(EMlD<~VxYG5T ziqjWkvlLzbrzLa*=X_aP;fuT|BBwuf>F~yaxrg8za5{F%-wousSE-Zk?~a3sfq!t| z*T92#&OewCXPFp-DWSuyy5k=>W&KAp213Upga=^ULNPu(vXe(e{#6OGZb`lF?8Zple4DOw2?yC~-;TAjLX5^v^FH>0vG|&Y-}3P=wa6f8{Yvmp-#UH=;vT$zw-e12aFl% zND{DvY$Y>Z?F=gEWEMX#vuH^`Gwwh>oDB;ogHljxTs{z$ZeqL(%9tbJ3X#XU(0lz|5#WvAoGF zLL2vt48g+z)o2}tieNwr7e}tItHPA_u_g!a<7j+Uv_wIvXQT(m$|i=FKoi`5Q>?yD z^AlH!Au>)mbKPldh}B^r*^2U5gSElnW@2qKJ_X7PXD*mAWx7jER@s?&;?ag^1uoRs zRBpLZ6GsF_yeevH9E?&~*64{xl9JpPLSNF@6#E2Id`B=+=3~X}A>HlpBa?y1s&Woj z!5lyhjVKsx%);abuzC6cCS-~=MQaa9_;o19?x`&}>PpL7Gj0PVmp88Cb`sN0>6~lj zwXw!VeE7OkOx0Gzm&NLw+E`tAbvzn%8aQ-jX$6z4yfGeKmb{F#DI03by&M8#dX;I@ zPKXS{(5~TjT$lNxx~fd=Yc;XwJCo44k>rv?H`aV^gKO@r(k)s zqMMmkd@eXib3Wk)+1|l_QMS4N5!v4!&qqE_dA?sG zobr6+X_)V{!y)l=1#f`9@_bhVE6>NVNj0JqMc9>sS3}++nB!B{2_68Qje==!yWk4w z-zk_j9uUm=ejXD%9bumr{4-$X`8W^IYa-`(nLi6Y1s_xY5d3NAvz?IlRSB8$e3wH< zdA=_ptnz$ZPe6G-P6IGg!Y+lr@_dURTO#s-u&F%XSAmu1dlg~Z;`wSISDx<+xR&yK zpF>#X`RZU>dA>7&mFFYxqCDR=VCDHPLf9Z|@g92sj~2|aM#}SL!H)8LOatZlP6t+= zZzlAW=Q|#Dl;;}&x$=BP&{v-CROsm1&R>IEc|Ojyq&(ke5Kra#TA=@)#O+4NmFL?D ztUTYP&>4pCyqCYgrt*9vAyb~O2KvhLaZH)=e2+s%dA`5mI?D4g?#lB$h_K4@-37Vw zd|$$KmFJrWtUTXku&+EHWy6!Jl_J?R-W%kVCDH1K}UJMHNe+P95%x~%Ln7bym&(J8PNH@V5Z5df|=%j7954n zKLtO5_~hfqg?4@ntm`wgrap#p-Z$Jh(Rm$sGO=mJ#k^u7e;#`03ElzQRieZC=5k`3 z9|62khK)-ts&yaZ5j6&IqE^}vFrq~ zwWpWLFVfzhkw)s&UMU3L_-#e}n9qzK)ir)ofi(=EvlfZ`qDP=`UW(qih-?J|h*P~K z@GIu2Z$d9ZAWqNm-R_OwZe-ly@Qc5IJS3bD^cKROP%W73IVaYP0%Y-4~}X&m0x_*bHAVv-T3kSuVsK{UWC1! z1mg5sJbIGBS&e{8AVfAFl3(0|n`l&HII2D27vuQNHG}Kg;}<6!f82zKaqW+-i{M@# z#I?qm>)Nq(8@KG(@|7)5Y^S>>xw(M)!+j8wS+pgJp&DXEF#dn==*Sc=&2d*ExK7U=ox*qEa*S+BD zzq#w?{hQv}^zx<`Ha)TFE1Py~+PEpWtrmse=0ytA*dU3~$uy!U9F%GF&dn7RRxmRo zjv!e~zf2D+nCWE&GqdJH$JE(i1@BUQe^)|f1&PTDUV)=2`~Ge&%qn~w(scjR*oR-h zE}J_uH&<3EKREgDI9V<$XuU2gXuad+K*z6hb7hS;USC&^T}Idm)|(^V&h;(6fE2dO zRn`b%%UorRd=S{q&6PEZxsa3346s~Q)(kH0k@rbm-@>%WhJw7?Okb#IKB@{+I6}#+ zU?{-~=K4ZCE`k~>Y$s$`!8~^8vW2~ODEk}mn1>^jL$gkIu!12ED;V;yf*}tp7|Lg# zt)hI!!LWifWFCu9e_oJ({g`@kioEn$fBCl4*9#Z$rE7i04-}7=R0_C64b}Hl3C?d0 zU)D(Y`kg5v!|6Ct_#)}cTYa%spYJq2g8U2}Kr{ZrKsnA1w3rZQd5?oAp$i8;4rE_4 zwf7NCcvg70WZ$gr2he>%ODGz;FG0o8+b5ad>zhjJVL*9lcPjP=n+M*N%YR4K;RnlK zw0SCC#{*K?L-bKob`km5Ce_E>4LjAXzGbaGTP`R;10SU4w)z&e`p#?hEpGKu!cs`u zuiB;kATZ@4>@02dRkr%7T7A)0A1(0nI_#X^>bs!TcVVlqywyjET3G5@7y{`?Y&x2d zm|E#hU8}F29d@nbXU0j`QssOEP)EU`AdAzdg)lQ5-0Ke z;8A<@4@GIOX%mJt&{Y zIS7@{<8>xK3~#u6wiK^MSu8 z_#A|NNHCzgwt9bDi_=!q&aWYVSMV#qW(^m}Barn#Jg8FzeY1uOFn?y4zLbxJe45}l zAYUMuKQhYavEM$^l=|enbZzwt#Pc?hH$dO4;Q}3UPr9~xHSliHSq2?;o1~rZ!lqfn z1(lTDdm?#PL7WF zcEo3w;LigqpBD!HDdo6tIx{9uc(}iaK5f2F4Ea>(_|Wn~n~wl>Z*_XE9s-6blN0a59`BF#SY*`R8eoPg!A7?YC$Hj3 zaXiOuy&P39KiAq4HKRklRPK#q?D$?*r>3_;;Ei7pH>>x{R$h%C-_=?MXk!iR?IaM# zYtr%PNd|}WbIyYh*?dUuZ8Z`kN(185Uh%|nV+@rhyLP#^35P$g<(?h~a&K>$c`ePl z?^qT7ec!7ax@~kek~e$nP)u1riME$1>zs>{iNeamk+~?nOj$MAx_L)iVu1{h|@9E*n&cQR$HL!FN;Q)aj-#;_kY-*(bf zhA9g)PzYz4vQ#fgIM3N()@Oz!IleSn5pt|A&yX$a7xr=^0gxa4!d|WelBEb`c(ndv z&It|bWXfbH-qB~u@Y3&_;KTZP_^|$MGG6=`N@lz$VL3XG+p@ae{PyZ5SS)6IFKp?~ zl2%_utB+VME^)aoYW2b9b1vjT6)toYD7D`p`jum~AU19pPWqiQxId~x<2pyN)m7Fs zS7El$OE7h4ymEPmPi1N5$4qMKDvz$l@D99s-0^G3W@*aCFf+WW>@YI`cl;VkiAx

NKNtkZKjx(3;^I=Q2Jo?EnvNFDU{n8-&SM>v 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 Kf^Ho1q5FSb!gdA# literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build.a.dep b/cpu/atmega1284/build.a.dep new file mode 100644 index 0000000..870a01e --- /dev/null +++ b/cpu/atmega1284/build.a.dep @@ -0,0 +1 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build.a: /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/access_authorize.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_avr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_cpu.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/assert.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/at90_usart.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/bootloader.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/chksum.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/crc8.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ctxsched.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/datetime2unix.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dbg_var.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/debug.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dev_null.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dev_null_avr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom_load.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom_save.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_append.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_cleanup.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_pull.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_push.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_wait.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/f_cpu.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdev_create.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdev_notify.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdevopen_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_alloc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_avail.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_free.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_poll.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_read.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_read_block.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_blocking.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_timeout.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_write.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fixpoint.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp1616_smoother.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_from_float.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_from_float_asm.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pid.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pow.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_sincos_slow.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_smoother.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_taylor.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_taylor_element.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_a.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float_asm.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_acos.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_asin.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_normalize_arc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_sin.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_sin_lookup.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/free_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/get_csr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/get_csr_buffer.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/getpc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/hf3_flex_source.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/hf3_values.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2c.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_define_file.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_identify.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_load.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_save.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_size.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2ceeprom.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ifact.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/log_csr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/m1284_timer0.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/malloc_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/motordefs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_lock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_lock_indirect.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_release.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_release_indirect.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_try_lock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/outputs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_clear.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_empty.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_full.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_api_rx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_clean_pending.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_convert.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_create_usart_link.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_default_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_handle_request.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_handle_response.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_init.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_known_endpoints.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_ident.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_rx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_tx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_pool.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_request.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_router.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rt_authenticate.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_set_running.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/seconds_from_midnight.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/smooth.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/spi_driver.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/spinlock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/sprintf.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_secs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_handler.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_handler_sec.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_us.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_ticks.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_alloc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_kill.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_set_periodic.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_set_priority.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_sleep_irq.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_starter.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_stat.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_wake.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_cancel.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create_ex.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_start.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unix2datetime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unixtime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_configure.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_head.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_async_set.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_async_test.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_ms.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wcslen.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/yield.o diff --git a/cpu/atmega1284/build/.list b/cpu/atmega1284/build/.list new file mode 100644 index 0000000..6ecc703 --- /dev/null +++ b/cpu/atmega1284/build/.list @@ -0,0 +1 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/access_authorize.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_avr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_cpu.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/assert.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/at90_usart.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/bootloader.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/chksum.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/crc8.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ctxsched.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/datetime2unix.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dbg_var.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/debug.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dev_null.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dev_null_avr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom_load.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom_save.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_append.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_cleanup.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_pull.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_push.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_wait.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/f_cpu.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdev_create.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdev_notify.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdevopen_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_alloc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_avail.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_free.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_poll.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_read.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_read_block.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_blocking.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_timeout.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_write.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fixpoint.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp1616_smoother.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_from_float.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_from_float_asm.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pid.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pow.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_sincos_slow.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_smoother.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_taylor.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_taylor_element.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_a.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float_asm.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_acos.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_asin.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_normalize_arc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_sin.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_sin_lookup.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/free_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/get_csr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/get_csr_buffer.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/getpc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/hf3_flex_source.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/hf3_values.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2c.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_define_file.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_identify.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_load.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_save.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_size.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2ceeprom.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ifact.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/log_csr.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/m1284_timer0.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/malloc_ts.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/motordefs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_lock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_lock_indirect.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_release.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_release_indirect.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_try_lock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/outputs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_clear.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_empty.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_full.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_api_rx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_clean_pending.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_convert.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_create_usart_link.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_default_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_handle_request.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_handle_response.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_init.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_known_endpoints.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_ident.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_rx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_tx.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_pool.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_request.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_router.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rt_authenticate.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_register_proc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_set_running.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/seconds_from_midnight.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/smooth.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/spi_driver.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/spinlock.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/sprintf.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_secs.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_handler.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_handler_sec.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_us.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_ticks.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_alloc.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_kill.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_set_periodic.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_set_priority.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_sleep_irq.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_starter.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_stat.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_wake.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_cancel.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create_ex.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_start.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unix2datetime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unixtime.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_configure.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_head.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_options.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_async_set.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_async_test.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_ms.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wcslen.o /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/yield.o diff --git a/cpu/atmega1284/build/access_authorize.o b/cpu/atmega1284/build/access_authorize.o new file mode 100644 index 0000000000000000000000000000000000000000..3387428fb961f79f38566052f4ff07071c823296 GIT binary patch literal 5164 zcmdT{eQZYYoDxZt# zWnz|Y(NycylBvO|p^1YN@dFP7p zk?IC8EBYswRhQjZc5~VGi6axKiSdcaa5a1*d^7w*@qsWRYwv7tKGKuw8Sind8zZN0 zzgPW1^=kFisuNNBv;9!`U^pJO!#wxsm5xvK+?`j%tP$DxkeP?34^GFY?P>SS?5*=; z@5ad4J389jdACm;nMzHKPwnb@w(&&c*+%itj*AN~c3$kdn4B(8zcPJwy61B9Wq;K> zvv8(wX6+2!I(~cX_D6zlz33tG%4&LLp__E+H>$A%y=8>%uBCGM%oyDIbisuCb8GkI12+`W^g5W=4Ak#X!Fl9 zn_@QL7!0f-Pt#{Lg9U9^fG@L-Ji#T5$_$%V@~RB4T(N%#Z~(+Seh8hY{~6HiqGI{bX*{SFQ=ZgOxF;}!=mVBA4+8@w$% z%>oc4x|rw2`y$>thD`{vD!LeQYvzaOev<`Si zyGp2yO^$4D4=)OD_cin=y*IDu^T3&?SsuAizcfM!p4P__aqPl$yI=h~4dMGH)^M zZjYkI^V{dR2I|)9Fxs@L=Del*iEdOsBDQop@xtA^+d0RfMOU|VbIf2v&Devyo9n); zwm?-$vD*5$7?AEq1JBB&+Zt#9LE7Csw!Rtb<%KVdAWvQsPa8sNotUk*NLjfMo<16_ zh)hK=UW01;C|?nUieSt~MUP`xw#V??j^0F*w5fNJhWi%3UGXxr7d=Rq$hWB%4~J*& zn6!3gIZ+WOD}tFx$zGt5-V3x|#$e_(^geftOI}}igyZR;OgQ#zdrd}h$7bf2lAWa0 z$ZwB~&CG}BPkoWt=PA7U{wW`n1MHmW9QhA&PIo5Ee2(5i7ie|g1=`cQ_)?QEjA}94 zhuZ$^(Pwk1#TQ=PcVE38lKlU$NDf=ie>rmJ^YPyQTmF;8%fz@p^1)Hgjo^s zibzz1Uff((xzJ+({KeBhdW`fh9pgiY=byx)F4$1rD}w2IMOAz9AC3q&+gC|Ybxk1AFs zpU9SzR&;c{K+&>YjAjc7GaDVYvRShz(@7^1(KV5kkrgrlWlv-#5|(Yp%yMb8P|TdM zBKWZ&if2l8WRweJmy-Ay2R5{=!{gH{%V%_np)Gs8o_${7x4oX1Ad)o-Q(4m<-L#T%q2E548S9Ui)6jB>@+MSl z^+2dUoleF>{rhdondwYofRNX^Scz<_cq)^yVq<2pl(&kpOj0e1%6wNyWeaAB%6U7J z&RfY)0^5Z}nW2P!&eF-dB$iQYUb=g)rT`do{-veA(H)1?RLkkWX++c>iaoa9*S@PXK_Sd1jt>wrT$MkF}2b>D$+ zN>s{?#fny1;xksUpp^Rq;xdgnJ@_CsLGnG^0OnsdzKb&73pu3l8pyoDNyzgGpMrcx z;p>n;SNJE8pD6qn$WImi2V@84;Q0JwvkIN({R-q03iHpB4|akRLt`QEqHw6Lk6L94rd{U6$VZF z6@Ci%IfY*ZPAmKyV9u3&d7g6$^IB&VejoUn!hrN$g*o>hF;=yGU-4=1A2ODIs)#;P z{I?;0ulRMa`K!VPUgN(rMjXC6%!g!r40x%+*MN5_%y-5FW8{1je)0^+KX%S{Qs>jF zV!~X0D+M14G@e7-Na71TLhOUib8+J{;=a=G7`HE@^WA9(o!g3_vzKkaY{O%GPWzOu zzhFfj06aIXE(hlG{NL>Oz0*E`#PME2jdasv10dY_eT@9Pu;cvrYo_zt2CRJmX%-3a zJFlCD2S8}dW8XlKwK`eX*l`yIBom7YF;Gp%cn-Qdzu#hy7lGsa`0J_jD*zze@dcFLa()sbxb(NL=hIlu?>89sm>DqRB4T~KD*$$pN$HNq| QmhN~T<6TXF*G`G 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/adc_avr.o.dep b/cpu/atmega1284/build/adc_avr.o.dep new file mode 100644 index 0000000..edcb7b6 --- /dev/null +++ b/cpu/atmega1284/build/adc_avr.o.dep @@ -0,0 +1,38 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_avr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/adc_avr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h diff --git a/cpu/atmega1284/build/adc_cpu.o b/cpu/atmega1284/build/adc_cpu.o new file mode 100644 index 0000000000000000000000000000000000000000..6d1ab1eec5144b9cf62403b0b225144d6d3b0a3a GIT binary patch literal 13196 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 Jo^v_+{s&5`uABe> literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/adc_register_proc.o.dep b/cpu/atmega1284/build/adc_register_proc.o.dep new file mode 100644 index 0000000..4af94ce --- /dev/null +++ b/cpu/atmega1284/build/adc_register_proc.o.dep @@ -0,0 +1,44 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/adc_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/adc_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/adc.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/cpu/atmega1284/build/assert.o b/cpu/atmega1284/build/assert.o new file mode 100644 index 0000000000000000000000000000000000000000..6af86f578f17660f83c172d86593e6696727c35d GIT binary patch literal 12280 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/assert.o.dep b/cpu/atmega1284/build/assert.o.dep new file mode 100644 index 0000000..70473ff --- /dev/null +++ b/cpu/atmega1284/build/assert.o.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/assert.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/assert.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/cpu/atmega1284/build/at90_usart.o b/cpu/atmega1284/build/at90_usart.o new file mode 100644 index 0000000000000000000000000000000000000000..2222806a99ae9a9317e35a4a8229224d58ef3d84 GIT binary patch literal 14440 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/at90_usart.o.dep b/cpu/atmega1284/build/at90_usart.o.dep new file mode 100644 index 0000000..3f060f8 --- /dev/null +++ b/cpu/atmega1284/build/at90_usart.o.dep @@ -0,0 +1,23 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/at90_usart.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/usart/at90/src/at90_usart.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/bootloader.o b/cpu/atmega1284/build/bootloader.o new file mode 100644 index 0000000000000000000000000000000000000000..b692037b8a38ba3be7d90310662e5901af283c59 GIT binary patch literal 8240 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/bootloader.o.dep b/cpu/atmega1284/build/bootloader.o.dep new file mode 100644 index 0000000..1039fc6 --- /dev/null +++ b/cpu/atmega1284/build/bootloader.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/bootloader.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/bootloader.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/bootloader.h diff --git a/cpu/atmega1284/build/chksum.o b/cpu/atmega1284/build/chksum.o new file mode 100644 index 0000000000000000000000000000000000000000..9efe364de3ecbc0e60552f2cc2b25a6a658d23b7 GIT binary patch literal 3540 zcmb_eO^g&p6t3#ton07qmRV3(K{F!A65VMQkZkx}*sOpqLLhJuahRW;AGc>_(=!7r z{_qoGLL`J`6k>uQ8skkba=;r0&%()=XhKZ9m}rE97dfooS6$W9=m8JBr22jD)vNbj zz544@6O%7XDTN^^4vLN>#Etnve1pyn%3w$=7D;iteYgFyJpY2cm%Ot4@-vsOI1l7S z=lrsBOT@jqv$tn^KmJo*n0(1g8UhhplJpaYdp*N+T~nh4Q7DsP5(tNaN#ZvBF<&Ob2PsXEjg zrHaH^%4>%(^*$gWdk9Gheq_%Ph_PZ@mfEu4b8FD3Gz$x-g$%NXSu!W&{G%O9L}vN} zR@_n(lu5ZNu_$gQl5!xna0zl+DdO>MP+%TU3OlhWzB#^U5lX7{y_nA;8IMyhp^x>2 zMx${ddX`8#(dq5&6C6CRV}zP)2u5`8S+sp{%OHx;kB~H5ke1sAgOIBSnb6qMt2+l7 zrLQ}TVj;;yL|iIFKg8Z3Q48Wi1TZ3ulMxZU1B}KBf)=C2M7b?1ZAr|M$HZH0In~y+ zhBs|ziM7{hvs~F+6d#D?*H-|uj4=_ NenLG=>{K7)RUis-{qDA?bGW>XWthv=5z zdRy{AqEF!5F&{MP9IktpRtYq2*x|6i&YGyEGO~tKmCdJ)iZQao6**z8YG}=beq|b?LRrxKhh|t%55a zS6uDSDW9l6GQL;IIn0Jh2N{`cM7})LXjRjB)}+xa;Iya9EUDI)c?h8|xJBquWMFs; zY_Nk>@dw97CUGOkSSq#;+}_2{tJXY}yHPpmW}0HxYll+fBO@slJT+Xc4Hvy^qr7z; zaecTkRhb^nwMvkx`PNpX`O-*gxKt|SQp5Wi0tt?a9O^qITD3-{RC5cdJQhrN^;#(v zs(4djXeLNqWHQyPhe2R|sZta9dNo(U(2frdP%i%Kr-i;zB;M(!@#9)MZm_WMY9`2g zT&;v)=Qi}gyMdbMUlKBj&B=E=sqy#VPY|oSMu?}0^;A}Bn>|Qvkx@C^0-w_OGw>OWC&15XycuI>HJ%3lT;mVHzt(sNHs5Lt zCce}79q>CE^M(3Vp~ktBmItzvJ!j% zjpNzJz3{x2)t?}+j}|4`l3qmPUVD_C+7}$4iT(=439x}9z|s5`;t#cqPUgo`YVz9| z83QPOfX&|onvB2wkPT+n9n||>Z9``Ijzuu_lbBG7K$EdM0y&!B3@$3J9rNSQw8^gt zY{mcz5B|>K#feU90O5X2m U^v5&8T1Nd{!zSY$V#xUW2d!T3X#fBK literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/chksum.o.dep b/cpu/atmega1284/build/chksum.o.dep new file mode 100644 index 0000000..1917bea --- /dev/null +++ b/cpu/atmega1284/build/chksum.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/chksum.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/chksum.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/crc8.o b/cpu/atmega1284/build/crc8.o new file mode 100644 index 0000000000000000000000000000000000000000..7ade8918d046bab67700ea0bf7bf9f58b7787fd8 GIT binary patch literal 3052 zcmb_eX?#;f5Z}#fOAqJ?Lb(i5PDw&9dZLJ;f;Zl`qN1XrqT($|1y9iWpUvCksUP%%^ZV`2e~z6uyR);&;?k*;IOj|f zXVokwG1ivI*iIM=gu`Igjb*X}T&-fqmfI3H99~y3=#cHm!Gl#tii?-BJ*-n|Qtw`w z-A0ZZk(<+hsHLHKQH!^}R-0ToY5a`p+2353|_GC%o_WwX;VrjX7}x$9&bwN+;5<5aM9@e zf{OCuvgtF=nbUOs{KfNpPRH0$!%sV9z_3#jcw$=5K3%i6-+tq*_ul`=!&j}ldh@C^ z%a?ul?%sEveCFksKL7a3?|=LK*ikyEIB`;O;t)FvjH#y%OcMceF_aOQI#^skuy|7^ z%q*Vctg*fbQvxBbkY~I?Sa|SUvJp`{zG(+$v4-aoB#MZ6(k~+BOEJk2bTD2hMV2h` zVLXEmNX<%7QZsmFLV9<`Oq`cz@hqg-kCkWHQjpa^03?&cQc}jk6DbxjC3SSln3VD? zQx7C)<>Rs=ib2`sSrn{qeKfia}g6K#avMnK*Z{l);M;QJ2x90usbYwVpsZd zr?mD4pmnm$gk)_AFU2r156%2|Y8QsqqKkmRZ8ZUJqfZOjCRa`?t+u(;qG zhME%b$?C8g4A-b$HlZb~l>{37Vd2jjCaPhTHTpxII=|*LJCFhkc@}8lmIjUekLlU; z>`IX247Jv)v9gMp=91i8^9XC6b-3B$^IKeAHRLYJBOI`V>OBpX+QvFaK1X8_wpy5L zw$#-*Yt5F*5MyN}C8N!Q5oAat0=Aou(E;Mjv^b};+0=%kh;|!nqA1o-i!ZF!GHWOt zjBvL^LCvdL!`l2XvpVTithJ#KvjzhZL0Fv{QnGvet^j-lR%>g6T9cH#0S8u49NijJ z{dF2eiRru^zb5_hX=Zf<|s!v1Ce!8=6F zKQ^jt@5lg-wm#y~8I3d8`vZ?L$d)K3(B3f$b1bL!j!DuEC1>$c5?uL*ES|Kej}m#Q z402Kw6Hr9s$5hH+s!Mii(ikb?Mi}KZR;7!y&rD=EGiHu>>-W@dudcFBw%eHiQzKw{ zX_)}i$4{%8El}9kU=M0_0x!^l0bPjQatenS&Vbz!XlSvEt3x-6Y*pa-3BIl)}Uq;5O$G4CuyU48~3pm``8a1 z?Ssxh?nBfcvLyP!pt~SR#+wC&#AI6ozpc{AU~?NVnQhp(nSf3*2HgQ;er_BR)tK_5 zevtVs1eR+6Sta7FAfS`9HA6PWTY`90CyGa0#-qK_8mcMLKE&G_fnp{bjaHpYzcvKG z^^TJC+oJnP!*2NHNCBL_OGI~{a4`naYQuihA(M^rq;^G0Q91y__NWv)3;I4v5T(_4 dVjG~Ow}ajQibrv&AC2)&p!iPcBvBlqKLK8MvS9!K literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/crc8.o.dep b/cpu/atmega1284/build/crc8.o.dep new file mode 100644 index 0000000..e2c24ae --- /dev/null +++ b/cpu/atmega1284/build/crc8.o.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/crc8.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/crc8.c diff --git a/cpu/atmega1284/build/ctxsched.o b/cpu/atmega1284/build/ctxsched.o new file mode 100644 index 0000000000000000000000000000000000000000..19448ddad37945d06bb21a08bbadb8be967bcbfc GIT binary patch literal 17140 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/ctxsched.o.dep b/cpu/atmega1284/build/ctxsched.o.dep new file mode 100644 index 0000000..7c3ea01 --- /dev/null +++ b/cpu/atmega1284/build/ctxsched.o.dep @@ -0,0 +1,16 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ctxsched.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/ctxsched.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/datetime2unix.o b/cpu/atmega1284/build/datetime2unix.o new file mode 100644 index 0000000000000000000000000000000000000000..37b794444a55992618fc6b036f4906334f0c2ee6 GIT binary patch literal 4752 zcmb_gX>3&26~6b);;{#hZ43m1jfW*b8a!hgN?A&aNCrwBDPYMMy=|8-+lK!KR{9Y zBS*gPerLJooO|x_-uQ*hJGMwEg&`^SifK-WXq^z>f^wBIST5#>M)BVHsq=NCt)uUZ z-WdIxTt2jRXi&<(j?b$apQ!oAg+E?kyDrb}ztokwd1yRxL5P>-bvd-}V%O7uKCJk& zH%G>ok4?x2#wKdlpfxOcWaw0UcwAn3xqT!cCd9SR)VE-@!A80}iew4mxRA^)G=@iAvvbKoX}WFYm*%nymB@ zl4|&neq-mb!EQ=H4qIc`@IgI_I$1NL-(_npP9#FPwTR}vx@ipC26=y^G3<*p$eF?V z`(U(0gu@R(0LwYT7g-lxAKu=GxoJ7l4>U?&BpjwjLKCcY&DMm4r~(^uMv)E0yRN+io}oy zBhhgbCUw*PI7iS@w4g|j%FL)F=0OdL?5NC*O5z$czj$A!$B4KVu9nsyR_=RfmS`Vi z&r!?7InlMGYw5NHXZ#mrXlmY~&?gt12~5MF1IJ8=rS5=JLYpJz;^`4DDzTdcgE1Cq z6WSHDYVo`{A(~H%MPp>YhBiyQ_`}leg*C(S_QLtMp1bv*63(Y3$K!jAAIOg zYTia`5@*B(tEM~He2;gkIjx0`$v3K+JMX{OSS3O;9^}O=Fx)9y2j1aX8Pkw!u=0Ny zI}UPHNG+67Q)_nX=BW|WB%MK{-=N5k$^uqh(|+_tw4hK+;<_-rv1dDVZE?qM%4Nuw!jJ=0ZlwD z-4Wk8t2^R<#n&AP4Ewty!I40Br0R08I}&<>Z{S#IFjr3Wp)VJmK5bCZ&L(1I`&e1T zkZeN4`bs4cD;69^X;U_qyEl{XFTh6OL|Ns*-YLx zY9u0J$wDq?qh4M&{l!GiHq&%_OxGp9n4EGM0BmS43tpWJSLVapr~%wVu4Hm*9`FVa zzZiI<-`#xB)e-od&lgwbbG}+Uy!tTl z@a{L9lKDift0V9U^)=$kd}{VC3w^yfpjqytnV3ocv|8=G(p~(CyLi3<3~{fzTi#q* zy}f&P_ipR$6$XI*dfAYyDJM!z36j4gSwfOcw|1<*Y~j9A=P0~&LVK{Tn4D$k6`c{Xiy{@fOF z79JpeB^kLA{2z}f$DlD5X%(9H%ZfVEd^A5=7aHkF6#E)_hNca5tp8HYn;Z3E;{bA! zVOId-R}AhJhd#`%18R=Z(-pLvqsOo_{&-Ferkp>;N*;lMYoYVbqZ##m8%oZDH8Asd z1lWuL6hB1*+)sv#?f?V^Q}-4ow8bRr(Wx^)15LMZ#YYW;-uOrYd-Ho2=a_5E{CKOI z{Eh;fF@Pe1=-$}<2aBz*7-**LzOJzn;!%$u;13%HJ>!zTjONWRg!5?X!Xst!BQ|>qQ0#-h p?-OV;sj~Mhlc+~=uR_Rsk^77Oc;@*30I$Dm_=WpAWQL5t{{kgQ+~WWM literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/datetime2unix.o.dep b/cpu/atmega1284/build/datetime2unix.o.dep new file mode 100644 index 0000000..9e79126 --- /dev/null +++ b/cpu/atmega1284/build/datetime2unix.o.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/datetime2unix.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/datetime2unix.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/cpu/atmega1284/build/dbg_var.o b/cpu/atmega1284/build/dbg_var.o new file mode 100644 index 0000000000000000000000000000000000000000..6c57bc6d62b1ab7c32b85ccb1dddf304c8384e42 GIT binary patch literal 2324 zcmb_dOK;p%6h5Arv}q?zQc@ljAPp+eAQ-z7LIrKp7Dj0rXlZBwp{lLrvF~_H{21Au zwCN@rR!B$)Hi#d&7yqgJ|<28RY+Xv`h4eo?zsrWRgjpKi2jFzKz;Ml$KPh z?Ppo7F`=~K;q4j<=b&L*I8! z+6(px=A0j~AJA?kq zGHw4>ySSY&OuP+|J4qIdVt8>tKg)%w#3{BQ%>4mTQ3lvjd%%kU4n!XqJpe{IO74|e z68XTql|^(%xFxN;{a&lv>9k~>t#*>O`>|IHmKGRi?P4PuwtJ%xT;h+GP{1plRyz!X zUaNhjpix>xVJd=_kEKwYrD1C<;uGcuz0g%@-DpUzn|Lvr43dXYN-!CgIjY#@B*XkY z7K}S5VatV=TSKAJNjpv@D{%g&{_6>0|`zjIVs4jNAmVxkwZc%zUmTT50Wg-oT zR=V9&t$B3$1=V6AyVy!fuLoM@iVh4a#qE;pz$-nndqqKZE@ICP1UA5p(tZY=#9ptL zi_KkXoTM}qa8VXv@g4oMTtStEcy z-@c^^|1|Kq3jaLt=?Z^hj2Ya2a0cIV+M6PxQ9pe zJ3H;V>uc^s*Tqf(TvFib@`?mkU%$L|O`MH+|}|IVgIJa>!9yw{0ry@8h;6TL*tJ? z@k+>CAXI3~2Vz^}^N9Jm#&x61E6A-nqp+zO3W% z3?^gw;{p9QyW`N|2k}t54s1+pKpF1`26`CXOW^sGo!9c8@hAHO_z)(`dGg-!88<$F z^gE{fwK0QXbZZsN@(WNr!9WjV_ZIkS-fz%c&ck{644J$xu<-$;n_#9Y0s}X+ow;8h z;_CK|QtO!A++%ka4SxhOGuVbFpJB5XtoscNpB*zyXr|RyB0%A@5b}}d7`%>IOum`b NcqRJ03Yi%u-d{@OR?h$c literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/dbg_var.o.dep b/cpu/atmega1284/build/dbg_var.o.dep new file mode 100644 index 0000000..c2735c9 --- /dev/null +++ b/cpu/atmega1284/build/dbg_var.o.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dbg_var.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/dbg_var.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/debug.o b/cpu/atmega1284/build/debug.o new file mode 100644 index 0000000000000000000000000000000000000000..37a552de0a663fce4b89d9ff9d9df5e4068e6142 GIT binary patch literal 8012 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 b6A+Gv980b3(Jt?b`hBzy3S*G@$+!0}XCK_` literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/debug.o.dep b/cpu/atmega1284/build/debug.o.dep new file mode 100644 index 0000000..f4d3f9f --- /dev/null +++ b/cpu/atmega1284/build/debug.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/debug.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/debug.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/debug.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/cpu/atmega1284/build/dev_null.o b/cpu/atmega1284/build/dev_null.o new file mode 100644 index 0000000000000000000000000000000000000000..5198e35e9ab1afbd8d79db0607836a15ff751ac9 GIT binary patch literal 7312 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 TFx9zi^!FYH+^H?hBlPz_ytSDu literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/dev_null.o.dep b/cpu/atmega1284/build/dev_null.o.dep new file mode 100644 index 0000000..fb3afa7 --- /dev/null +++ b/cpu/atmega1284/build/dev_null.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/dev_null.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/dev_null.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/cpu/atmega1284/build/dev_null_avr.o b/cpu/atmega1284/build/dev_null_avr.o new file mode 100644 index 0000000000000000000000000000000000000000..0b639b3d25e736fde12cd718cb681750c90b2779 GIT binary patch literal 7036 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/eeprom.o.dep b/cpu/atmega1284/build/eeprom.o.dep new file mode 100644 index 0000000..2063662 --- /dev/null +++ b/cpu/atmega1284/build/eeprom.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/eeprom.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/eeprom_load.o b/cpu/atmega1284/build/eeprom_load.o new file mode 100644 index 0000000000000000000000000000000000000000..5fcabcacb1e12230c534a88ce1b575563577e1bb GIT binary patch literal 8568 zcmcJUdvILUeaFw;)vi|BhhCOs5gV-?Fa|8GB|mB$za&SoO)&`D5MJSWwR@%AXdhx9 zevksTfh2&P*cLXeLtyAMnGBP*v^Y3PnczYuZ|pQpf;&^Nl0Gt}GvyK5>4Vn&e$V;c z-76;<@&`Gdd(Y?m&hPg-zw&rho#^54s+UON>^e8So{b9g59s8Ubdf9U>wN0bV6t2fo@ z)BS(5l|nemq0y;mKx-r4Z;(V1^s)cZl?)p|fk{O{4XWnrVerK=*vdT6DbSx&M6hwHI2x@$w7jkDNWyd!*&a zg~M+gK7aV^;m|R954N<9qEet~FDt{%WJ@(u;tK>Whf??#V4a9Se#ubrqEs2?a}i#>!3}V zn*ScwFN?2Bf<*$qPVxr#jTY$)#eNN!UInO z+tE_tK_hr-N6YP`7pV`@Q1l2f-2M+-gKqkRo=`j zi{X~1fFYxNEjdEvtvA<{ucuIyZy<~38@V?^W<6Gi7rj(7So{_`#NbM@7+gh`k(Rs* zj?77xCRDhOs}Sqt0<@YqMmYKQPR{faBiY8_uQIzTd=rDyTOxcreRlEoFOYSg1o)-v zV}DoE+IayO^f5$Z_Rv#^(BLC=JXFWe*74|#ma98m$79T^@o>D3j}i3_^+$q-aMus!mj|>f+9#zHYauEE24$ zoZSq~Kbxf)sE=~q+u;do-){k6WOasHJcmJA@@T71hgT6n+IxV0HOQf@g zu_tO6=%`_&OIdB!<*|;iKh|co2V1+b5M9b2TOIyTcuNN!%*#|bybirM5d`rv3@kS) zfh`^Dd)D+|+!m-&zj1|P73#3UVfwJpXo}Vxt_tID@3#E0dT%(YEh2R#>^bodm&Sjr zW0p-zr*%aSUAG3baT|xn9<2Kahoj+0n8S5+dqSB5jgXle`#L!`q06$ibkJe<0!R{& z%&lu;<1bg6I%wvbi;drJt?w}zx}s-G2h+A;?qkC`o(}|SQ}rR0^Xl`U<$N?{bT%)2 z=zxXn59on=A3lHsX6}(;bi~~bEM>o91`07VpjlS65VfT;tRB#~^BGh>G8nOt7hIOw z$%+qVgZibFc@o{Vaycld%)>%{TDR|9iz<8zvlo|@xVf0C=ACk4^9@@^wkI;lQZkp`UCfP-C(5N%A~U`$ zk=#}48{gem-jgThlao#!d3J-80;?7&Jn&Qz(Gw{yj0x)b@f*O%@ro%|^I+`L z%HAob48&2HnyMN=-YVJDq-i88#e6me#sQwomgxdVZzWT5l4&u_S1ZmQqix~=!*z}I zkA;AKH2lrhKV@(G?kkz9e^)d)vmkP zbp1{7jROO5eT>EX@`XM`RnDv(Bp3V2li8`hvFZd``BZf+(!63I-ZwFk9*g(gQ1&FX z78p~-eYI>5X)@cR9<|#!uo9i`*SW@5!R!ZK@8i3w4(6&KLL3CCN$jk2w&bKLM#deA zeQov^R>6~Id%ToP;fX?qY3QW6&-8pe`(3+72DnFTSU7jtI4P*9Czna)Aa|Ye+$if! zi|tz~@R`D5jU@|{^=)I4IV+Dij#gm@=Zm`>Z9K3NL)m&ts!+|_bb!#)V-vPHkL>J} zewOw6XG?dPvtjo0?BH>-@m`U+NQO#I&f(EeOOj`*a{g$~JQ!7~m>fH92UUU$B?QYi^5}bmJ&8H-VMK6Fx6UVP;XtRH2`?yc$;YJpK&#rA1|>MwAR%m zZ(YE*s9Ni3F95Iiw66kx$kR4|%X9^AUDyDuk9u)DcnN!opD$WZ@#F6l-r_gE%WERP z!dJSd$e$2u62G2Jt%=#j)K+P7PqZVlThV5G%tV`d`+_&8+*kV7JZcuU@7H8*Y#+O* z{rE-gXD@2IC%b&W*!K2Od$Voh`2bvJVB5$h4cmscj^3uJlAp3m&V=T>ol;R6p0jb* z)AQ?&#`?=itUT`)`NS}0zj|KS>7tESf3jqAqnkYV@pZ$$o$(^iLCuTYg_=LlgA|~| zaWx7r1h;qMhOz`#1C>#h;_|_EIqE@N^uwPq!y@PNd@Zha{H9{rfs3|WyIX`|qQ-H# zI`~{v?cBg92XN853C@14X6MqlE4TY73jdch5+Js*LGi4TPmif5wcTQav zlA%9_IwAbm(Bm^p`8^nCSon2(qh2pOg_<_h*@ewNA-n-PRpC+ixm)A0j|zVc z{G{-gFz(aBUqO9J_|uR-FWd|Mw(xG$e=EEI$KZKkKlp9oEaK$YjG5(w$P4)-#vK%n zp?^qt8JKHEof6m<{y)x3_-gpMNBCvP4+^h={^x|RfzGqS=OF)qa6jTdC(QrR_($PG z(0^0-zoEmw&@qM{=(Gtx0G;{5S3`GD_*K;FgntOzYlXjvaX%`&4f2%m827gm{8vf4;S7H0Q@WZJ8UHAm_gXrU2wnM*7_%-l6;boZ1 z6~g}j{XtH2F_?xJ+!lM|UF>zeZZ@=)@G1g~XhW{so`8+)> z+===*;p-s(zVLV8=cmE})ISsMz+6TU2gm9I-zMw_=Y?mWyGJ;R`hMXv&^bW5rEWQL#=HYVXTJT%k;o}9 z5Gm~A^@!B2-VXego4(xQ>irP}WVd9Xx5I6q=C~}6;_}9~!82cembme8>w2cAo`=6L mLgp5CEY^6OY9&3#tQ*u7FZ$y%!d!a&&A~o>5i+;9{{A0&N`|fg literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/eeprom_load.o.dep b/cpu/atmega1284/build/eeprom_load.o.dep new file mode 100644 index 0000000..0b6024f --- /dev/null +++ b/cpu/atmega1284/build/eeprom_load.o.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/eeprom_load.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/eeprom_load.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/eeprom_save.o b/cpu/atmega1284/build/eeprom_save.o new file mode 100644 index 0000000000000000000000000000000000000000..ea690c08d51eec5d7b61110ec41ab72ac994f097 GIT binary patch literal 8252 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 B2z~$n literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/event_append.o.dep b/cpu/atmega1284/build/event_append.o.dep new file mode 100644 index 0000000..e3d6b5f --- /dev/null +++ b/cpu/atmega1284/build/event_append.o.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_append.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_append.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/event_cleanup.o b/cpu/atmega1284/build/event_cleanup.o new file mode 100644 index 0000000000000000000000000000000000000000..71e775c891d108f820271e9ddc37999db60907ec GIT binary patch literal 7464 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/event_wait.o.dep b/cpu/atmega1284/build/event_wait.o.dep new file mode 100644 index 0000000..1aea10e --- /dev/null +++ b/cpu/atmega1284/build/event_wait.o.dep @@ -0,0 +1,20 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/event_wait.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/event_wait.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h diff --git a/cpu/atmega1284/build/f_cpu.o b/cpu/atmega1284/build/f_cpu.o new file mode 100644 index 0000000000000000000000000000000000000000..c44cc0f62dd967eeb0ecfddb6c21716da3cfb023 GIT binary patch literal 2028 zcmb_dId9ZZ5FXnb2rRicgP>SM5FlYY35QT1Tp@%bfshD~#nT35kl5 zf`*m?Q6L&Begl7kk`{@M0={{EZ`Y6tiIJY?`)20Nn|J#8?EDo?(@2R%%hY2;ultBT z!FfUi9HAlFMl|+=9)eedts=r#2DC_uGG^@o`G#qa=w>(jMn8eMR`0$$Man^3efnQ@HtQ##G&D|IeHPYP8 zJGGgKiJF*D&5UBR5xQAxdXjNsW-IMgvz|A>A}^mtl_w`^X0z$nYv!$ta*TX@(vhQc z8L}dg+i@Cc@QBO*pQ~f51);f_nW@?l%;0EIK9Q9@i8^i_x|0^VrBEkW?~vuY9haSE>zw0S(v+81y zxW-R@xAWIz}Y^484mnUK5u6 zXdJ^Y!a<2ILr+M|VW%a21I_!v@voq-OU(OnTVg1>C$S0rK;nO+Nj$dsR$MYH7-8 z@9h8@+qvxXDJt#;czN8H_@VGPJT9MNHLe4!`Tz>@ zL4e|;d@F^E#-;BA90STJeN5N>iul&E~a0bni@Gynhq literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/f_cpu.o.dep b/cpu/atmega1284/build/f_cpu.o.dep new file mode 100644 index 0000000..b112d5c --- /dev/null +++ b/cpu/atmega1284/build/f_cpu.o.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/f_cpu.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/f_cpu.c diff --git a/cpu/atmega1284/build/fdev_create.o b/cpu/atmega1284/build/fdev_create.o new file mode 100644 index 0000000000000000000000000000000000000000..abfd626e5fb0f29a70fbb398df3a092a2cb0dbe7 GIT binary patch literal 7324 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fdev_create.o.dep b/cpu/atmega1284/build/fdev_create.o.dep new file mode 100644 index 0000000..e676723 --- /dev/null +++ b/cpu/atmega1284/build/fdev_create.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdev_create.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fdev_create.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/cpu/atmega1284/build/fdev_notify.o b/cpu/atmega1284/build/fdev_notify.o new file mode 100644 index 0000000000000000000000000000000000000000..6b306c78bc25bd9d9833a6ba6adcf7d12c8a86f0 GIT binary patch literal 7520 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 A8UO$Q literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fdevopen_ts.o.dep b/cpu/atmega1284/build/fdevopen_ts.o.dep new file mode 100644 index 0000000..3dc82e2 --- /dev/null +++ b/cpu/atmega1284/build/fdevopen_ts.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fdevopen_ts.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fdevopen_ts.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/cpu/atmega1284/build/fifo.o b/cpu/atmega1284/build/fifo.o new file mode 100644 index 0000000000000000000000000000000000000000..0ecc440bac83953030747b6a73e6654c92d4c056 GIT binary patch literal 2244 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_alloc.o.dep b/cpu/atmega1284/build/fifo_alloc.o.dep new file mode 100644 index 0000000..85f122f --- /dev/null +++ b/cpu/atmega1284/build/fifo_alloc.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_alloc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_alloc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/fifo_avail.o b/cpu/atmega1284/build/fifo_avail.o new file mode 100644 index 0000000000000000000000000000000000000000..0617de0ed9f69b29de25a8209f7875ad4a78fb46 GIT binary patch literal 5204 zcmcJTTWnlM8OLY#mbKSjd+j8)>r`1Fv?G~N7cQRv`uU4P;)C_)7y2%aF28#N7B`Xo ztC@xVh4&ZVTU@)?x43*M`EoLfwyOV_8oDQNX4*hRCP*+7B64OEpEAjcmYm%Kj78#= zx^E=sj?yNwf;N#@oP{=BXaVDn5^HTTqa32*uhorw53CAsBK5+V3&;d9Y8#~!6M$j9#1J(m}*8> z6Q(+#tC&hk#(N#K>RF9PuWGuIO6_TXJn>V=lS-aca?M?29n*L>Iilq$nn%<0Bd#Sw z2cS)89@f+Di?D?XO?;GtD@^>Ji_niOR&0~Mfmri|`~ch+`4CUDuv)QGDY{lB<9j2< z$7JGVwpXJiSCF+|$s|o;THZzO5gDqV1`hBM4VGW|lI-qIr8`j!agXY=~Rj>B=pJNwtia*`)g2kbln|YD%G3nNzo!T6td{)RfF_) z424KjM$5iFI7uJ+jSumuLG43E%Bew)KJXFP=3zUSlTVK5c|1HaHOP7H7{0o5ghngl zZ5Jb$`>Gr!K=&UW$*L)=hCUfYV5l=+8V~2>xEg6Bt~`CuEiXS%|eL6JmBrR+c1rzp7W4WNk^3xm{x7A9D6JfJ#^$u^U+m zOA9axK<@*6wo%T8LHZVy5%E<%<-ZU~oWk5%$TI(QquQ!DUVi_fgL{tTXKmN67Uvt) zQYr7bh5T%3Q{J9)$4c{K-pLxVW*>Lle63MzRnZE9e4*hwG#2@m=jN-8f?dt;a;jC^ zRZYugSL%m3pH^R`=< zz3H&)Jn~uE34q`9=K3@eIF1Sq5?E_s3lMf3Y>Q3_j2{Is zLIOs+;!Iha+J2)}DS&Y->h|i#EDjr-b>&}uYQyOBkp#A-<@r|OQ~^87YC5h34;**S zu2x0!s9W)!z!S?CUgfld!ZN;Do>TC|zE6KPyK8(rs}>?VR;!Pds7KXYPCXZ0!y}KJUdn{7iY3#hrCb-#NMgBhlJ}}m;nZ9!H=z*0i3e%ZMW?B_iYvU zmfaEjR^6+V>rOFSz{@Bs%X6Kws5a{5Y+J+I2PWoQb50=?11^#$l+!xmR;7s!Y6xJX zfWj?T>Ya$SJki|QDwP~p9C^w*Iyv=}z`Uk+3H09dUCul3gyUIO$#qUx+$`asLuwa9 z^RQzVwUhttDZ{r7-Oc-zn$u|cqT?Ji<6EJcfrG~@^|D%4|5Vcn^`!<6mU-T;n5kE7 z-_i3Ax~;e;ta(?hmg>}NR_g4RQNTVZdrGxwBgRusvSStFJL7G_HS5?-Y)9MGdkyn< z9nZ&6r`CgGxy4R!m9Ve$a%i2%h`Zjr)uYX=cF%kMccPU zZpQOOPDzUnwmM!RY}uSz$Z;UTaC zYP?0>o%jWf@k62-Z~AG#;nl3UBX2~C9RS@4sg`Xk`SLiJ5; zCfr)4ZD-WG{lVE4N>P1@ZA+s1Vi>A-wV4nVxNd|}R9}eOlBnowGa-uE@pj9^^&fy| zM^#Nf`cYKws)r6JoY9tbWZK$qSsD&#IJ{?{g2R&sr;jP}YfWt2vf|T@+c1^RiSs}9 zus#Oh6RsZWl8QsxFyqJD#(=u53h^j7f@6Fm%5BJj{o{sd&pj;7hZYNo$#E?*hTlZV z?xgxT(05d6!nMxW%t6QXW!vlMbgN;0#c|CkzX?8QcsJ~i8GaFR+wd&pCBqi@q~Q_R zoHg7H`Iih|L5UAZ)&IM&VVz?=2mYqvSHa&ioJIL#!^7z3mxf~9zzNBLL7 zZ$SP}!&|_-qj9VP${xc|i?xPtqs$rpF2-a@(B@SmXn zsNsVsbA~?&`F6t(q2zqnmV4z3hF`$A6~nt>?;HLio zdfV^-`uT~m;a=y-=h#Fk?&>47zS==hrVQk_VYefwpyaqr zmyyH%t$}~Re0f9%{&DMumQ(Oc{SC;1#4(vzhTIl6VD~J9_&!#d{UM|(mf`+(U>`76 IK??f&4^KxabN~PV literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_avail.o.dep b/cpu/atmega1284/build/fifo_avail.o.dep new file mode 100644 index 0000000..8c8bd44 --- /dev/null +++ b/cpu/atmega1284/build/fifo_avail.o.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_avail.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_avail.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/fifo_free.o b/cpu/atmega1284/build/fifo_free.o new file mode 100644 index 0000000000000000000000000000000000000000..e1c76ad7af64336d5247b54492d927f14bac5aff GIT binary patch literal 5324 zcmcIoU2Igx6`t8Y)?R!42Q~%*O9cs3co*|0L?B>W{J1p%K>`VtdUL&dcfDf&a_?OX zQ40i8i6+p*F@&V0LRF(SQqopxsz_0PL| z*-vIK%enVHzj|v%h!4>U*V9*pc;n)wi=WF|&)=5p&Hd_AXg)*pulHQ&zVPeAx0hee zeKPaG%&M8LnYmYz*VaXah$-(eHE~A}%Hsw^WP%80LPXAP=2Irw(UNm}0b`MPx#kKLfgN(0}?fPOpQ{~X!0Vxyp4x4O-9@Q z0IVbGpx8_oP5&HF$KKm$!M=I8^jgMyzuhZzqmud5Y%IG~|f(BzFS z*e+&Q#t2DE_>hU{PcgjTa{-wUF`&i4@TK2@`a`rqrCr7@iR+Sy&(K@`Lp&0HS5mQp zYzby~h#&*7GBGtP%d;|a9)hmOZ!pIy>PYSJ7L2bKvPZ5>_obrg9@(4dMjVkfB9(d! z0<5_oTeTzgXlfkGiy1j`6yGW+No;AUcMt9y#J2RwXgZbR2nl_%v!&mjLjCp0d0qRw zE|uy`b);yK8VFf*bgD@@=M9BOQ%1|KE(FOKx=jr6@je|xkCfwmoV|B7Y;&;f%gWt@ zdL54pj`wk$dzM}w9i-9Xcq_yR*1jZ*1u*_a3=GV#m&Qx8a#+nY7*~-l zdkB4ce=7B~8oWF%hWjE*g;?>;3sUqziyZ<)$_ZD#2x(;L%qT2YWd*~prSy=_L=ehaZRB?08KIIM-r-!`LRl=%$ z(s6UudZAgtCYJmh$=Bw(O?tMrB;CW#$`AA&TW<-730{lg+a(JimZn z#_SZ!3aRzW`IG42)Pb=E8~}uZgKfbn0^_Fy7#RV^xWZ&fo7#T8TFwLGFxBJLPhcE2 zI3Y_vI(~6Aj%X<@&$set@~A7T;kXt8aNJXNr6L-~-Lmflfmpuq%Fj7qmI=-BoV+LY zKmKH9Y>J;ANVvX*1z?gU;@GwYfGZZh?Uoz}YhJlja|)R}-WXw7p6irErCuv#S{mLg zFu!k|a`K^2nMzM6-#RZ=xd8`Nth1g6b4%sg{KA@^XpAgC(!7fkRWs}m1?K?WJLAYi2S!>!=o27#F8s!?}Wp+^p zB~Pg~Z^Am%;^|oJ-M#y0wqeS#8>mLx)uo2Kx{l}LoKySUidk@0w=lnbYMfIm2(f=` zY)57tN^-rfNBzS-2f`1+xiuY`$eVc0g3AD31RmHU>FCRmk#y{p=tw#~6B|hrvl_U6+7!Yr+twv*uE{Ylb$ECN?LGG^LUp~yIGCx$w}8a z74(p#do1w-P%An2j;@qzPGFBIMK)irRvlz8JOyg3$~)*n;xA1=F>z-uz~oV$H6e=f zhzU^?=L;{SkF{iX=K6tmh5Eed><;yr(?>)7O)X4tXO6z+XI&T%&ae2d(2492xtiibSix&;Hz+W?%AB)@@#;^tUKQs6R z@ZTDI31dGp_=~`QHux^^UkrX8WB+4t12}?4pYMbB8+--&FBm)lo;CO*_}O9bTJWb0 z=JkX7M?Y6!Q#P2n^bLLs{46mV>57pv57&u#@PKX@`M1H}HTZqVe`#!3YabJ%Z2|>?-ux@{w1`q-D)_YuYjmyd&BTRz6ExBf(|(6C0#`e$9FZf zULNB?d=R&408sew_X7e$oRdTz3R|qeVjB?Rb6Yj~<2%A!hRQ=+#{10kJfOhee*s&a BHzfc7 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_free.o.dep b/cpu/atmega1284/build/fifo_free.o.dep new file mode 100644 index 0000000..b08de73 --- /dev/null +++ b/cpu/atmega1284/build/fifo_free.o.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_free.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_free.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/fifo_options.o b/cpu/atmega1284/build/fifo_options.o new file mode 100644 index 0000000000000000000000000000000000000000..140bcce2965f341bf383358e23eafac0b9d0e662 GIT binary patch literal 6240 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_options.o.dep b/cpu/atmega1284/build/fifo_options.o.dep new file mode 100644 index 0000000..e98d72d --- /dev/null +++ b/cpu/atmega1284/build/fifo_options.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_options.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_options.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/fifo_poll.o b/cpu/atmega1284/build/fifo_poll.o new file mode 100644 index 0000000000000000000000000000000000000000..6eba0d2c82137f7c7fde1ae3c068aeb98298337e GIT binary patch literal 5600 zcmcIndyG_989#Sk%+(Tfg;i_u!}%fL6AqWggCuBbLSD}#l3e} z;13>)O)6?(*|wmfMAO73m^5ik6XPS)KYYZbjiyFTwB@g=!36NpRIOQmzjMx=xu8k? z1Ha_l^ZOp>JKy=vch5cd)Ycu_48sr}8Dg(!b3$BB3h@$@Yo);oF;^tT?8U^)l9|_L z-kkZ9G5hj6Pm5_GdeB0j>g|X>EyO#<^x4yAUp0uIe7|w~=9zcToI5jp<8tE5XaA76 zv-tFx6=yE?iR%ldF5H;?!3~VOjpknJo$8r-bNaRECDV!N*$dHU&fmIvOI+U^gl9Q> zNCwvBg<8`fU_^*uCPd)m8a|CE86`Qj6)+SCmus$;oIXICz#Q5HLSc5wbgBs$wxn2T zqdx5uPf-z-3T1zB10-_tkQ^nY!RT3fxrT={jRrek2UZbvQLLv6#=i@wVox?&u&)j0 zzTA?|<3MFQ$N)QxaAF7Y(FrWVJuC1uj5(U^Rcu7FNyTC*F(ce>sU&QbM#|C6V z#5^VDvPtv#ScLXlm<_^8rjtUk;42W_L|Z5aE+R|fl8s0d(=7g`7KsO_7=maC!FqsH zq%>ocXNs$gt?beN9qi>V0fi4dW{dn`(nX(uaS)OAilsd5sPhv0J#{z7H)_= z6dT8~Lt2j9g&!1@MAo*{n+6{q#CG)=!FVjj5eD?p?v{Ri40YLOv~`_rT`ble>x$7L zHqU3#)h#FKZW{^_r;L_~1cGD?JvxT)c%O=)*D%KWID2v_Y%{R!OBCTxxD{dmYoD9O0vP`C!IWIW0Q6BW1M}MJrSbe2a+i$I%^)<|jG6^$V_3$p zFf7-wXfb%&emeG;bh|h#hWlvwz~`n6(F-m14iF9rQ|BNJ%%2`ZeJo82F02+;fvGK& z8yyj9kGbiOqeVnz#;DF1#3i(l_={1xO2jJlw1ASZz2Xp>A+nwcpwbC32EZCOq$epQ zOUsD(v*f)8%U2bmI*KXhgdSakG9W(Br}0m0AU-L46VQyzqxDL&YB`xlcJ17{H&Zfg zvyz{zR|At!xb_SYL)-T z6=qC3SGw=Z%r%-q6v~Bqwo$KC(mB?J2PM26#NUdAW9R`C_4aN#^01yfewt1@n zj87OaG6IZo`H7-3HQjo(oCC%ouExtxZx}W>nTtO?I6bm7cp??-n6d&v6ld0Pv$^9r z)K|7)*;xc)*+!u?bW6eUrvc=wg*#o2F`vl_Iy+vS>hHEok zFEmb@%@%CyNS3wJnh?o?)Xa&-9?Q(DSpPF%E_*%PO}gc(Rd2eY9UL^n>!6xIfQQSq zqFj=DykYr#$;rL#nKa8f0~OP?R2n?DW&22W(w144PMt=%M!(Dg_OIwj)tc3qPXeZ@+*M8Z-^X{gFhNl8d*7y@ zx>L6VL6H!j&>U+ZiOBZ1w5o23_wdzw`1XN;V?3MPyF2?xHmkr61@>&+F2SDBox2Z8 zs#+Zk(n1|<_ze{ydHu$Lt}*kdP5&~r*deqL}#Cr;o2T82jZ zQ_!u{_zg_3PUCmcvtDTPcgS~Yyc6~ZHNFJ7sqqoW3mTVzk7>LRHm5Z1gZ#4^{~kSl zrltQM!{%9yp9226#yk(crEv=V_cUG#KR?mVAc`Geh2-4#saGDrve-i#z`|w9Keib$&K0F29 z!2cNcSH4HUB)Dj;>#~l4a{e3}e6c`$m%X)1!T<0`aSR&gBCSQ^+2#>-q=jf9w9ROw z=i};~$B&pCPaWU&4{9DulJpJTd!6Txxrw5^mz{j?y}{_|?_=H|V9(z$us^=jHmmdHJdJ#sG@t zNO+1slc#$eyx-p;_~RbaAHQCnzvIB(7(lTd{$2Y3jLk34_>25S#r`2YX_ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_poll.o.dep b/cpu/atmega1284/build/fifo_poll.o.dep new file mode 100644 index 0000000..774217a --- /dev/null +++ b/cpu/atmega1284/build/fifo_poll.o.dep @@ -0,0 +1,13 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_poll.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_poll.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/fifo_read.o b/cpu/atmega1284/build/fifo_read.o new file mode 100644 index 0000000000000000000000000000000000000000..8ae937bba9e77c8e1c71ad648824dd19a115128a GIT binary patch literal 8308 zcmcJUdypK(eaCzDakqE7xA&5C5-**MFaqm#b&?Q52*jNbk^mVYA+avL``10Qvkz^$_b$t_RFEvSQ?*J;C9YQLWmK-#3d__2 z)vwN+RXI`5*Kl5|zL2KFUo7oFj<&JJRdeR!4T`_yd?Dp9`vyItrSlOqQ zI{&3#J*}pd>cN$`zqf<3Us=<~j~xH5u7BLJK4bmz)X}5=qrP_jE3?pg8<+n~@3Ed^ z)ID|d2x^`)4}&obOCt6hq{rr0LMK2wA%X)D>)K W+`4qrd8{;+ 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 IPrkkX0^ZDQU;qFB literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_read_block.o.dep b/cpu/atmega1284/build/fifo_read_block.o.dep new file mode 100644 index 0000000..fe8ccd2 --- /dev/null +++ b/cpu/atmega1284/build/fifo_read_block.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_read_block.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_read_block.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/fifo_set_blocking.o b/cpu/atmega1284/build/fifo_set_blocking.o new file mode 100644 index 0000000000000000000000000000000000000000..0ad67aeca87ecb698c7e825dfd2357e964872f12 GIT binary patch literal 3720 zcmb_fTWl0n7(QpVyKFnX7i=5Q>_ZVyceka`5D+LWEsy|hD3=6D#_8psgZ<)(|HaM!b3&Fn&^~Lu)c( zef#18XA0J>j(5G>Q;Q6JJZk#SU?yAjsdl17!yg z<1vDX;uY>(;Zj4vJkQ#+8!$26!PmET>9N)h-kE6cMkjqt*LOjI5>KF)?fMS=Ko@pd z>d{JkD$d@ zxa!J$S%1-g>^Y0`6~^*TzGC=xU`%6XGfugXvFP{U2RU2}nIf$_Y6p%r0|DpMnyrR_ z0)fQ66BoO)rYox@u=s`_7}lbN^)qH|&p;mAn=@UP&7Sa_z*hN;fEhA18nAq}@9?qI z=)gcqtY#`*DyQ?V=@)lyCR|DTGtO*!x>|r#vZ_0=HCqQ#=|Uklok~ymZ2Z9Z1goOh z&=zE-?pR=Y1v_BXvhNhib}nUM`uQo z*mK}$J-Ntaj2**2P%zI*W2Zm^MU9;c|ad0z4F)!*ay3W3H)@Bsw?>pl!mI8B{W&FSkc~K$HcFjy+F9a-;GXs-lrhT7f zgf?g6l;GIm1Y|;NPEULG+zK-;f^xxL8R9x+TZNzw%UG3C$;P~*d9gbsdMiCZbm1s! zU`xvi6OXNUqmwKy{F+M)zoIpecGWaX%TEFCjK~{+cSq!Y;2jZpdkqs3oCwA6I-Qa--P4`a$)nDdVN6XL`wfE$a4-Z% z#`XztWY3|=lL7^$S;Mmn0-v?LiWDBoNG0he((s^;=o5j^otU| z1pbD^tD(On@jdW&Bu;^UB=ITud@Aup@UJAk1^$i1&wzg~@gV$vlK2MrZxY`G|5IWx zd{2ezGX~xxv5qy`An~{0dnNuEd{W}q5KBGL+9u#%lo;O^EReVr{Jg|JLjShJr@^mF z90&hI;yL(yAu-MGYr=BBZc07X{Y7HxS?oJLHHhf^DgO(RSo*HuWCYRoh4K-K|M5ss z3ze1An03JyRY?e7%&y9*=rN4JFPZvLr zqjisBzi3aWF3nHXb%0e2Alr+4Z$%Ue=48w;Ie}c{qjjZxbbG0MRbYzg#~}I+hE92& zNG2PN^O7sSTiEDM=oBfxH=!V`=q~*FlmJe3i7sLg9>ySAh|HI+9I~l?)!vfdI{a^X mmw+Tyi+H4M_Bs6ep`;#ZP(C`3*v{Hn0c5waxY5^_%J(l>FCr@d literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_set_blocking.o.dep b/cpu/atmega1284/build/fifo_set_blocking.o.dep new file mode 100644 index 0000000..677db91 --- /dev/null +++ b/cpu/atmega1284/build/fifo_set_blocking.o.dep @@ -0,0 +1,8 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_blocking.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_set_blocking.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/cpu/atmega1284/build/fifo_set_timeout.o b/cpu/atmega1284/build/fifo_set_timeout.o new file mode 100644 index 0000000000000000000000000000000000000000..42aa034acfb0fd6379f32bef4db33c02274ec74c GIT binary patch literal 3716 zcmb_fTWB0r7(Qn&=_ZqV+9sh@_94BAyOZ=1YOiTx(iT$_lHRDoFqxg*9W%R|&derF z1zTDbs#4TY`=AuT%Y*pf!47*ZCiJ`NHM=<V;_+5ZBM%OJs->pijUCw7#p}AJx=zztv}TPgwC;#SbBjpQ zQa5C*m1Jbu)`lXfhW0E!*c%qPrI)5K)N_5fm$G*xYuRHxnCM14F=~w5>V(w(Cj1h* z5o1;Q<$og)UMSHYv`9Z$ajPZU*N;pb8=cmRrf0gjg^HWc>%M2{#rzK4ocA*Mg^Yi$ zM6hJe+MZsj5!-c5Pq-E=OCQW`&-M#rr);^^oXs9o zUKvmK7ySnwv$#-UEbrtihHnQ(;FRo2HON}@PWV9%heNhVZAa?Bv1Y+w^ICJ&5Re~` z*uF`zIP1ImV+r)$@B_nIw9r0d&h`w%vAucIb=ll0&k1Z5&j^?yLnFWCv%^oGNRJE* zq(w8+nNm5EcTK;ze>>qy#-DZOGBeczxRO=fkCoXqkj@kextVlk!e?Vg$0k@6$p&{K zGF8U{(<|5ktCoGIP_}bv3#uIBT$ z$EJ@Prw$!GUN2n)GV-2%*1!s|1-V#kZpt=uOeDQGGj(J4sx~8rX|WmX;#sF$hg=QYzV)Su`&CSE8F~)u8i6jRd>B ztT55|iW{AHaSPN;;&_YJf;&)?++KbNcz=Z7416%c>%e;>{9`pt;P&z;e(N=@t_N3O zWW>X3uO^9yS6_q|w`+utt`yA&7fxivaiva4o-8}5lKZ?XhA};995D(-J3OUz8Z17A%n11-&ToUeMPi{s#1h#1`ns63@f; z3yB{F{hF{`ukWRt^4^k|;)r#}R|X9_W0d`+h%bFoaPjpOep)CS^7%g_4I_jLKSM$3 z+dTS4kdDR%JPABQcxa3_hIV2Pf+rpMZN@`B>Qop4jt&*?Q3&ai^1ti`VWWH~&Jdov z5rKjOkVoq~jrwTMQ+;$osQQM1l@B1>hc)<>fE-G90=&Yc+Jr*W1msYAYK3f literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_set_timeout.o.dep b/cpu/atmega1284/build/fifo_set_timeout.o.dep new file mode 100644 index 0000000..fb26cf1 --- /dev/null +++ b/cpu/atmega1284/build/fifo_set_timeout.o.dep @@ -0,0 +1,8 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_set_timeout.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_set_timeout.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/cpu/atmega1284/build/fifo_write.o b/cpu/atmega1284/build/fifo_write.o new file mode 100644 index 0000000000000000000000000000000000000000..0c028839006192f047d0434d0122b0d34d368c58 GIT binary patch literal 8364 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fifo_write.o.dep b/cpu/atmega1284/build/fifo_write.o.dep new file mode 100644 index 0000000..28a8e03 --- /dev/null +++ b/cpu/atmega1284/build/fifo_write.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fifo_write.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fifo_write.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/fixpoint.o b/cpu/atmega1284/build/fixpoint.o new file mode 100644 index 0000000000000000000000000000000000000000..2a5d59f4925fb5800272a755346f920a763fac91 GIT binary patch literal 5296 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fixpoint.o.dep b/cpu/atmega1284/build/fixpoint.o.dep new file mode 100644 index 0000000..7161fcb --- /dev/null +++ b/cpu/atmega1284/build/fixpoint.o.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fixpoint.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fixpoint.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/cpu/atmega1284/build/fp1616_smoother.o b/cpu/atmega1284/build/fp1616_smoother.o new file mode 100644 index 0000000000000000000000000000000000000000..049980ef4ac2e11438c2c4cf343e5e2f834497f2 GIT binary patch literal 4124 zcmb_e{cl@W8Gg^bcH+c|6URxm4pw=i-3lyr-F8vw)NW}h{m{xv%O>as-nD%ln_kDk zA8j{*nx)NzpsZ=V4cLb!p{e@=CL!?)ngrr=BKu*8FHI2=nuauODnkOaN#S|UJ=ea; zegLGs(z)k(-}AihdC%uP=MUcdIi-{YqU5CXG?5R6L|#VYE=|}btE*Svy}EXF zq_fgl?YymCU3g>RorSf9pCx{``OVG$-24mmBeiYmGfPL89$ZR13CF+i`(yQMRk`rU zg>PSY_QKC^`u*Trga00Ub@7eGcNW(cSFfyG8M(5y{O?e>qyC43`s^-OuU;&?|U9v@-1UZt{Na?e>aF@R{f)K2K4)@bX2vYl2#BP#J{ZvLq}Yi)@w?(jQkY?5NB+^2ipObJu=fpjNxS1B{WmB((QA$MTCuRh!bpRu zb(AT9O*TV=PP&NsVBvOldrWl$Zm%Ol#)}1UG4kOs;R|oI-eX`ov#8;s>YDtn`^?qVl za6ba`T2$Ew>R!9%HnWHCJ9hA7w&FA#uXMKVmCM;?qnNFfcV?Y4jj8h4sph#FVa+-1 zHnO#PsqMiFhHSCka7mVrDpqx_=(S63wp=|oU+3kQZ8sZPuU>S#>;c#FoQBS6wph$g zXLe+^>nx0uNO?Xtotw@#YxR1o;x;lxj?*`0Dx9WftAwDy`j(CAi5rht_UPiph_b)_ zOTffYpyttIRt$61bZYaSEAW}#m2a6)8@rJ+j@NeO(C6<@AIRm>Iq`iRXNqeqY zot<+_=^_?hy!za1x@+RZxBXECbJ-nqyAZ%y+v`Q4iw^SPNNB>Mv^a}9ccAXk=#<}( zrL@=aNSSZA!SsZ4HjXWkLkAA*NpHgfeA1tNY;YdwHHZ@H{Fb4#^&)n{c6}oJPXX0T z!oFn9BqHCnXA;pTA~T7;%h8!c|8n0YgaB6%2Y!n{yKq7K|Ex@epb+01o`Z#ncHm)_?zOt`txxU7GW^YK}3Ve4+ z&j8;Q(sy?;!S%Jz;@ito;p9&oqh^Cyqz59jkfxYq|K4j$6r#LThdr!;ES=JO4A zR^vzAM%^eIw|zd3^VF=Csyh)6_eO(ASB%zRM4XK)<#B>JKKHE{Hrnyt*fgPb>$Z}P{p36Dd3AUuU{sCT^ zz(~->vk}hk6--tzf4sed{P6c$7jGQN?+b#2+UgtP{Q>bf{~Ry3Ob~AYnC{zAC?~Mc z*EYnX`W=)o?_W5qj1>smSbkvYz&?aUJRB&f*)Qcul<;`}8X7Opa*!XlZm`{yoaz4&cGH(5br@cpi z1MGssuEvQclKqXbiPE^^CvoVAldLKQaa1?Na-@+1BAO6!?(byc{IfMl zFvH0712=6f~MNKvsB zaD_Sa8G4C<6cu|4o7)VjEb#TV~E?B-piz*1rkabg9 zmA41yIrx;QJf1Oi#~jn~`_1#9g!5R~W$HvJ|(K& EZ>2-jo&W#< literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_from_float.o.dep b/cpu/atmega1284/build/fp4816_from_float.o.dep new file mode 100644 index 0000000..73a803d --- /dev/null +++ b/cpu/atmega1284/build/fp4816_from_float.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_from_float.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_from_float.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/cpu/atmega1284/build/fp4816_from_float_asm.o b/cpu/atmega1284/build/fp4816_from_float_asm.o new file mode 100644 index 0000000000000000000000000000000000000000..1ff9d185c199b8a13d082521f4d348a7561491af GIT binary patch literal 3528 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_pid.o.dep b/cpu/atmega1284/build/fp4816_pid.o.dep new file mode 100644 index 0000000..0857fb9 --- /dev/null +++ b/cpu/atmega1284/build/fp4816_pid.o.dep @@ -0,0 +1,9 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pid.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_pid.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fixpoint.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp1616.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/pid.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/fp4816_pow.o b/cpu/atmega1284/build/fp4816_pow.o new file mode 100644 index 0000000000000000000000000000000000000000..7adbad4cb84fc76a8db77e55f58fe929e3ed06c2 GIT binary patch literal 4532 zcmb_eTWnlM8J;krct|Ry^S$eN@^dQ#I0~}NU-a0TkqxUddXg_ z-L(@gB8fMY(wgRYPXHAHks#u=2oU7~QS*X$041vW056RzRY+7wNg#cIs50L_JF`AE zIOU=L>Ob@S*ZJq4Idk^hk@2IPbEb&1lWbjL?6S_-FJSB!4v(@P*2$vvq54EUUN6

=jp6^_^cOmw@d$o6Jw;tnn|8?O`CtK;T>34Ja`tsi8 zj^#D`mVMK{Zog)~Vqdi{+2`z%9k(a!Av3i3#VjkEYho*#t6?j= z4=cO9yB4hVF0z%+qlsS8Gp}f8o4|PNlik$!F zlM*l-J1nkOxR6;OG7Esjo%|zucgUl6@-F|jo$%eqLZPRiK+YY^qaO-A8G5E0eUy5v z#b@xL-iBp=?=#&LIlSw;BfT7MejoD$8ZjEOwe)Wg0}y3KvbOHwF%do;Iu)YmppV76 z$%4hNTNrCI`1*Wd;o81F5o7vBJFOWs1K!1w4o^8e?QqNC8HZ;bKI`zD!^wIB>}UV< zyxaAmtAyVGZyiC_f4CwD-@R`HS?S!WIRu8h^&Ea!ceo-5)0x{k0#h{UGeCYe1fRiFP{tq{B}*jpE@!p7*aG4uamlBDd#l2>+|H2cg%5W8*#~NPSi`B6{9NPkv8t zXZRYC70jbkrTl!sszjfjICkV@bT&~=l%CHc3W{i|RJO>OeNee_#Z-PiZACM=vvVc7p`-Jaax`B`CGycxE1yr4MNQdM zDmq|1Vf2YAWDsMSx&Fb}KpeNOk)kCwWMh^(RH>$s4_MsdKGCzDz#orA^B?Q;YM#)d zm%lgFKkTUnroGyLmwSqDdxG|*Nlin~5IN8vuev5+W1pG~kH%tQQARjYC`K~*L}m8y z6NF2V%IVx(BsrgjR7lMqMzcN|3rDiqbTS;7sIW}Fl)&OXxE+XYSo?gjlFJsYbU1}w zW%*Ju8*ZwotJ1m3HfV+4e>=}3Vi1d8H@i}#a|;ZclWJJW;GS8|Q<%>)Ha0qXDEuhe zcA(KSI-%RZYaq_FbNkxD+BIw%T$@BE+0;FYnyGth9#i*S^qRW=8$MHSdCqU@fp4~$ zdh7E6QxATt)zm{T1Wmo|#gM7DFSVJv{_S>C?|4Z!^=+3rOuf_IX6jwbou=M>rOVWN ze%L*t?;L4=kQtRP7pjRQ#%j4S&MH*4@(H7Aovkt>ov0?5k*rjhA+%`=yBp6HGbPvr zP9&3MYe7jkvl~3|b``VM#^`*mXeob8$&6H~P_WQL_Y|3OqF^;UvJTLiCVAPNwWa{z zk+-SRc^ao)iIBYFKfqH>&7C!TU)f=o90ne8$p?U+bjb&sn82Mi@?EcKb3Nh@Q!~QD z#6K;UEdC6+t|5vi`Kynk*;|*})$d~{p%wxwtD^RsC7cW~`fxlvvOHBcpYH@?oFAI07a;eWQ*_O#cC1LktOXuahBSB#HI{5W#=N&Fs0I+Nt{GmM{<_%9ewNc>^=pOW~u7^x=mCprx# z?1N8P;!k5dBk>K4ixSfbq`s*-e?nLuv!6>${r{cBN#y)JVdQ@Zm~xT-OTbhg<)NNa zpGiLm`CW;V!1ThB5AB7H81h+yyi?*|0aISe-;L3fco3uLxqKyHZr0pOK8PdQ1?IE~ zAo`b}^g{7}Ji-(Mrn!jv!St>uQgAmEUhuFq^x+Wv61WRYK4hbF@rabg_ZN6tB>*N; z;^V-y7w_jc;EDkh`DRoSmn{bDuJ3IWQ-vSZN4JuyZ^RV?$bOAJ{+WOzmHIejg~?>2 z(AQSduZr3vJ}}WAa3znbB#;RbzbHrL7eY~#OOf(>846c83&ZcCa>7XS5?uxp z9tIPA&9z>-7F2z7bk!LkziY_%Qv#CITr|4c&&GpTGn8}(5mP>TN2r(Xe7`|6D$prX G`Theh63`d` literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_pow.o.dep b/cpu/atmega1284/build/fp4816_pow.o.dep new file mode 100644 index 0000000..fd44a92 --- /dev/null +++ b/cpu/atmega1284/build/fp4816_pow.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_pow.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_pow.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/cpu/atmega1284/build/fp4816_sincos_slow.o b/cpu/atmega1284/build/fp4816_sincos_slow.o new file mode 100644 index 0000000000000000000000000000000000000000..c0860996cd00831c70536b4a1e62860eea35b648 GIT binary patch literal 5060 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 N<4r)Z2%RDo@4xk5SE2v_ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_smoother.o.dep b/cpu/atmega1284/build/fp4816_smoother.o.dep new file mode 100644 index 0000000..0d557fd --- /dev/null +++ b/cpu/atmega1284/build/fp4816_smoother.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_smoother.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_smoother.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/cpu/atmega1284/build/fp4816_taylor.o b/cpu/atmega1284/build/fp4816_taylor.o new file mode 100644 index 0000000000000000000000000000000000000000..f41957b247c016421a6e0d62349a8c007b19b52c GIT binary patch literal 4092 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 CebOob literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_to_float.o.dep b/cpu/atmega1284/build/fp4816_to_float.o.dep new file mode 100644 index 0000000..fda97d9 --- /dev/null +++ b/cpu/atmega1284/build/fp4816_to_float.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_to_float.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h diff --git a/cpu/atmega1284/build/fp4816_to_float_asm.o b/cpu/atmega1284/build/fp4816_to_float_asm.o new file mode 100644 index 0000000000000000000000000000000000000000..67e15d73223c876d849b8c6e79c95e4db9ecbc3e GIT binary patch literal 3416 zcmbu>Urbw790%~zK{vLcRNWTb=vrAtMCdJ02kNpER}dHGnBc@Y2N&83TT9Em1q$M1 zhD>6JDU2#J%R&q>i&+eb#`v%Y9!$1}CG%kqdvF;sOT=VxnDDTN8T|g>cj2co(Zti7 z{66>GbMHO(^!&LW)Hc-FY&K;jn`%<)M@mg^Rq7j@^siJXR$En$a-GXNw>)uw;?Bg4 ziDl1kp4*=5o~O2#+iUDc?7F?je#Sm-w=KGU{%l#zsfERobY?h{$h2h|Gl7gR1E);%RxJbBI_*vl+;pc=)h0BD!!kVy8xLmkWcy+{4K~Oy}%J&La z30DihApD~6OTq!+8sP)NLE&2AI^kD@>xEwxJ}BHEd`S4P@aw`&!p*`*h2Ioz5q?Yf znDE=e$A#Y!J|WyD+%6muepk3txJ&q?a7?&cI4+zJ?h!VGdxiUiQ^EtngTk}|tfrtE zvWW5azVPW)Ykj(*MdHy=*f2G-N9!3pY50w*ZhwEfuc|vWkVu%P`a-7RLmI5cDyDUG z^n_dL`ntTP`hOQ6jYoT9VN(mWB8tRWnBN5FsI<(G6rKa~8Ws&|eGZiDo z^iyF&i^W5|QCx)rts`!PS1Lym{_66*t;u+6BpTO~t-2ZWVt{$gfml*+M@$;4vD1R%lb3;Pshc z!``D*RGg=kcvKv(5y(<@d5GgpYJF8!%0W+S4X3)2sx?}UT!CDv{?oehYz@{qF;8`&EXX|_^% z4kFDm@)pD-I~Q@7O}o|@+krU6ejIUzP3@Xx(~fk7osW2pO}o%db^+o%dpF`ewj1#Q zn|7FNw2Rv2fgS83xPV;@7qh8f{cP%w0GoD?2DT4wVOPK*wjWNgX=fN>Q(umoBqRmHjN(-yBYSe zX+_`1Zh`CBv~oAI>HlwIpMaz6HaNv@hey~UIL(g07uYm*F0pC+e#?%+b8K3bud@^I zEw%yQWhdc9Hm$x7*(o>&Q=IyNR@`muA=u464VSWq;cE7WaF9I$H?q&d$JwKBC;MYK z$sU7;*`L5;>@+;Zo`7fAlkhD2Q}_yd3ckkv9KOlE0MD~8!uQzI@B{W2aCY|UyU)N5 z_Lp!0`x0Et{tEW9FT(-$*YJN$Zd629tBrgC&5Kz!1v*EGz9MmZ6+ous#v)5&c{4KA zp>w&&MSP4`T1j^~TEV(sDGG9s|E(U)P3s!E2i-4-htV2O$$Bn*4Uz-MlsZwN8U@ro zTG6d~G>@%kf~puN>HFSF*0boVT-LLrgVw*~*4sq&H&_=VHlQB$-xkjFTn93>L*DNp M>g_?9m8|Ff3Hz@@(EtDd literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp4816_to_float_asm.o.dep b/cpu/atmega1284/build/fp4816_to_float_asm.o.dep new file mode 100644 index 0000000..f391e5e --- /dev/null +++ b/cpu/atmega1284/build/fp4816_to_float_asm.o.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp4816_to_float_asm.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp4816_to_float_asm.S diff --git a/cpu/atmega1284/build/fp_acos.o b/cpu/atmega1284/build/fp_acos.o new file mode 100644 index 0000000000000000000000000000000000000000..cc20482666c0efe178736592fd7c919cdd3e0118 GIT binary patch literal 3336 zcmb_eTWnNC7@l*^?sjR*mbOq@FX@^T1!Q+yK!RLbDgqH~rD{TbSkCUAy@b877bwJ} zr72QMKp)CUq0AE1#Jqe=a~IcK_OF;O4*lR5wQ zU*?~GX8xHus-Y&z7A zEW_H~E?a!0>rgv;_IJLquS}B$^$S z=mJ{34>cE;eTZ0e^*+>azw9^wk{-ZUm&mRnLRC7%>rhp?@bRnt8CWTBYFKAzTIBgc zwwklbk%L1=_K!r;X35MZP8YJtWTae*N7BhH5%W|jlsp|OkL3t+<_W75$rTdSEP6o^ zi5E&1okgTtE=971xS5R%TG^~wl3i2rcw}36bGTPJXY%oEHDQT+HLepcl0ID!B3X=@ zDB*CNQ!7^zI3?jUS0PUO2*jdhevfUmL*%rr-Jgs16IwK zGpW3l2vWFL33F9zd8)*s6(NVM8?u&7o!aTm*_Jc;Xtq!|Q7uMG)+wu0wrWYov6te& z)6WG5`}%@%1A?JkK9tOw<@D~&#D!4#M5Y*uRa201@#=2u=3{-qP%4#(1w%t+J0(uu zSqB*s@|MlWR~#4|+!0)l5jNQ2xv;CymOwax<2}tm{T*z?CK?=KRSpDn75Tpi%Y!v9cxr8KUJbIUo)>8rDD?GJD45!MbrB z-)MAXIC?M|6%rh_!O{H(Bse;7WO!7fN{)4(lK8AuDmcQw9}v-jp>$jTys3i@o&;x| zQqP-rn}cKE+tJ#%86e*L3XcIB@P8J3!i9N{EB$2`<`b?p;{zhoFzN5XTOE8q_!?rw zByqnrXBm5l;opf3ebm8Uf^;=*!sd$^9zr&i^+4_Ng96z@ZrBXCIBh9N6VQ$OmH{b?BHjj9(E6u$Spndv~wNLwgv)G#JhFf#KxfJFJX4FXzd1vG$(!|TkOpYY~~c{5OP z0dzqkE&%I9O-Q;SF5S3Lw=OktrwbF4x^UwL8rf-5zwf?xXWmc~U2u{+=Q}_5+;h)8 z_rAGyWcqa}rO+hBY0;I0xU)`(uVCD*9JY&1Vo=zdFGX)e??&ZAd*V{`x#fkvyV1xa zYJChnu=QY}@8drCaAaglY&13&i#!_m1o7I}+x52HzBY4vW@#p|MiXyeSgtSsAbo!8 z_dClzy7|Y_gLwN_WD!xBL{yRk3ghQ$01O!;GGv_0G@|8dQy4}cB{k8waSYIiM5!?% z%3#EODc*H6;|E|@Y8lDX7sN&6y`S(K^U77xHK=*ie~l3zC@jk2qAV@S@}e~Vlm&qr z3PF3XEdtwCA=cAMGWQ8ND4$OZ_nV19ITYKt1u2e;{{Dkdz#KqqEixj^#NPgW{l|xq zWm+B@^Tlmr$A>xd@aU(LV-mJlRG4w!(Ll7m4;LhsXitu1hG~x9T9CpRy*oK7#5&)W zfqH#f92(m{R!#U({p`d(@BtCt95wqfA_6;EB6?$u4>c#0&rPv)iRe8gaRw2K+Z&ad zLdS=wy2gi^ddG)oevJ<`JTgB!07cK>*HB3HgF?D{D5TI>hKTW3{*~Aua5>m&7}9#D z=C&%1XC0e4apbgBvKzLWzfyAx1(*))TlH+ix$HDNM`zm&pF{P<(UWf{r!twO zDp@jBsiq39?UfGfB(9~ri{*N1u2qCo$+Zrk{x4^esbVodmrTugeo9O;$XJDZQnhA7 zbW4m?cI`wJ#L=m#y~*v!`$a!#u@Mzs1>qWA8y`p-_i-AXR}D7RnrZL-O4FVbX|LJv zc}b&&DlbDY}N6J287+p=O0w zrl{~$r%?-ppb;7GU+$LR&J5ggKA5aAF`wpSfcXUP2r!@8JppDtU%?pSBoLo^jbp$v zXk;>p4SfJU7~mhlHxsMZMF^gy3`#T}_wN06Bh!^eA%m<`!qQBLrfjdLFcnb930_ifu8&QCcr1bey_ev{3JOCgKLp?W2m=6NxqGcd*p}iFa{}t!#)E(gu(f=@qAb> z%K8?52^=QcNbCdl%YXT?NAw&(!FazB1f*>l$l?6XBKY6XF+bi&o!=y|o&zXuL*Th+ z(zaPBG^TAE`s;h`6tZ0iVVYOqmm~;C$9NZVIKMNv_B=c0#}`27*96vc0L35*lnE&` z#Fw`xo{J!?KjX1wbiC`poHKzznuKA84g#5w3IJDVjSb- literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp_asin.o.dep b/cpu/atmega1284/build/fp_asin.o.dep new file mode 100644 index 0000000..f43836d --- /dev/null +++ b/cpu/atmega1284/build/fp_asin.o.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_asin.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_asin.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/cpu/atmega1284/build/fp_normalize_arc.o b/cpu/atmega1284/build/fp_normalize_arc.o new file mode 100644 index 0000000000000000000000000000000000000000..64e31ec1ee4084ccdaeca2cff9df1aed0e316b47 GIT binary patch literal 2844 zcmb_eO>7%Q6n?vQoS>v>lQf~BMKV=rgNnULS}JIjHZ%%Jp(P;!L;=a&*y|s4?G3wj z5_)Ojgv0@ zzA<;{HOsQZkR>a!D~UYn7WomzQ_5jn4$6SI!yk2xKm4@&x$Rrs@<)1mVte7?TigA& zMea1^{%2S2E%tnQ5B^CNlT_*Y6vk&v1KUaw*;Wr(!tScn>SEiNP6yhbECAZcE^6$g zGT1#Wsb|+M(K8LZQd`LaeL+Y+2N>)TI1r6~9(a_)vQkqtn+|j{w+8NE%gpPpLSL?Y3n_`Mh&FJC&VK&Xro;ZxlRvQuFG3PI)5` zDX!&e0V?z>*S#DLI*X$giRuOPQMSx2Dpoevf|iuv&UC458yVgxJCnABjq!t8DXl*2 zy(d*AxAHN?nQC%%!E7g|z}3`^T2v|3yh55a>{isF-kVO^);tbT=HGlLJv%v>Ry&{0 zRBM@{??&b6DdHd#U8}5RRvRTq)qG2XZ+LTe6e<^hZ*$P)X;SYO)y7MtI`^{~au28EvQX6xQ&U9ttY z?n-twiX^MF1rNpMDz#z&o5JquYUr&S30>FWi8ij4yv}I9QuB;Irj%?xs8&6!B|b$l zbgLfg+(W!ChLW<=G?+Zm@j6mgz14O};4&YCbgr%0X+8_gN2*0T&0_%PjfngX@Y$IB zN*fdGH0SW$t!ZyP>gj7oBt$)pFN7a*4_RMzn@MHT!o zvF~hL?xWx%7=t_j5TD9~*7L{4(hW*xq0nEz2QYa&?iKYn!LMixCRa7S1jI|a=gC#xXL^`*2i0G>Z=2r7(n?I z!iku|z(B{$&+Ze<%7^L4~>*dv>jrFp1O%DLdhcJ9cpvlZdj?&x2zm7{#;*Xme%*Q*z Qy^QC38-2jNGGy}o13dJN)c^nh literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp_normalize_arc.o.dep b/cpu/atmega1284/build/fp_normalize_arc.o.dep new file mode 100644 index 0000000..0ab0e5a --- /dev/null +++ b/cpu/atmega1284/build/fp_normalize_arc.o.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_normalize_arc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_normalize_arc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/cpu/atmega1284/build/fp_sin.o b/cpu/atmega1284/build/fp_sin.o new file mode 100644 index 0000000000000000000000000000000000000000..7a87059c222b7aafa59fbdf2c36fa632a59db79e GIT binary patch literal 4692 zcmb_fYmAgv89ryencZP``4)CT*|w%*+_r0B=3`+cwS~fPN1#gpTZHN`JGY%MGv7KF zF10NSp$PP{vokEB5|>o1jZyofXyPSlHBqtt=r5x`)NY&FlC+VKlBUMQ^?APUoY`-8 zNc2bF#|)wDw)e6`MCV8yyD=ca<$wnACbT8I1{|MY_Gf^e;|j$ zN5f~r7sKLBT3@lgZ+&RJYrQO=mq$7`w(qrmA$QA!d^>V8;HW4>sxMV1t7FyURl6Fi4pxH`&toC|&bs-XCGF6Q{GwW6pKKxJlRlt)u@%tg50LTsJ&IFtGC@}noKYCTHBdOT4B2#pTt<_Z{)WFT@nS;EC>+0gkj<~5 z3wEUIGE|2 zsg$NWqFrZ1tnFFdQ!w2m@zFulVkugO@UAkMbq>3)F27Wl`|I*RU6SD*^$V18(y1B$ zka29i5y-TnwTRQBqZgl;B<5UmeBsWb&z{{`h9=tuu-n^Yn*?*Fi9HAAQWN_tFmE-n zZ-aTiiTx*-51ZJJ!2G9)1>wjY_=}ATagR5VKGVdkpHBq%SN_|aFL1#FvwqTg*v?h* zsgkvIaOb8y)^NNS&n1u8xpdkp6%*EQdZiUVTnwj=giA;Bg!%ZPRME=Y$x04hAgqL4 zOwm|al~U2l*@<}0+K|fS;zh?blSo*rA}b=x9ph{vk*g$A;^UfE#j}Qw*g~X7Vx?>$ zf*VDMQaOp+D>BT&q_amyY2v*|a3+%+3WWzt3{tRB%3SubRE$?(rBKRd3aMl$ffW!ryO0Sr zC|<()3y{Dp-m$!e`A95bmjpalu7Jyol@rUUQY>fNhbkkkj`YX1BHT8Oh46lrOA4`N z!-o4qeJJ2(-RcP*uxSXcqT{_CA>a3~e9O2_S}=~9#xuUC>3`OUnt|v1QL|+%5H(w? zEm1Q#j?1_4mcfU2KM$;y%K-2{MgOPhf13VZr~euHpKXnr^UejMX4}*AqGtOuZBeu1 z+4iV8|GAE+X^zd0nw?cMYAzV({SYY~%a`Lr=*va7AJ(Xt%Ecq))X}ntB;)0{hzylV zBI2;g6gERFTS(i`IXFHvR7@S#Bb=I9mNJ%< zN`JVgM+qC^7dNIG0|0~P#Uln7uNb&i_`E*YAa6|LP8WRHUAZyMD`>4ABK}>#4|v8_ z0~6esrfz1|x%oK17aAUha9&r>m@7OZhWo>yK^Ve$<1be;%AOE^rK6W#q$}xgr@DUDxNvKg+_bo`Kaog`IKtR2UKJJOz46=rO$&0G)Dh0 zagS?*-!-BOKc6W4ku24P!%kv@a7Qgv_)YZuB&p(midb#AUS+ci@s=w574)B1_$+#! zGse7ve!IedLC?C8&!K-rVRV9ZB+vRBQkXRxQJ8!2YYGR^b1yPC?$7TKtK;!q#V-T@ z8-?!!{yQ<^{}}x>#dGiTM+AM>gKHsHF=%nL<3) zpYgcGbi7eu`YcDI^x)arrh{Ni$o91AwcQXFhq1J1yKjQAo=FAF&@tpYw3+QjAD#|)1u@3 E7dKJxz5oCK literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/fp_sin.o.dep b/cpu/atmega1284/build/fp_sin.o.dep new file mode 100644 index 0000000..bc1fbeb --- /dev/null +++ b/cpu/atmega1284/build/fp_sin.o.dep @@ -0,0 +1,3 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/fp_sin.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/fp_sin.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fixpoint.h diff --git a/cpu/atmega1284/build/fp_sin_lookup.o b/cpu/atmega1284/build/fp_sin_lookup.o new file mode 100644 index 0000000000000000000000000000000000000000..8ad9b8a2b7341aa0005e6f6341f1a9f1fd7d6eef GIT binary patch literal 2852 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/get_csr_buffer.o.dep b/cpu/atmega1284/build/get_csr_buffer.o.dep new file mode 100644 index 0000000..95ba14c --- /dev/null +++ b/cpu/atmega1284/build/get_csr_buffer.o.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/get_csr_buffer.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/get_csr_buffer.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/cpu/atmega1284/build/getpc.o b/cpu/atmega1284/build/getpc.o new file mode 100644 index 0000000000000000000000000000000000000000..b90fd919c62abef6e888a15d700393b8e5c82ebd GIT binary patch literal 1112 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

t5wOleK`yirQ*pT?7MzN6G zcnvWbZFXXlH)@OQz|O+Rm?sGLcc(LGB8|+JZ1$aEU7j7v>O$BfslKi_o?JQ>a}Yp2 z%#jUzNS1`qnQ}(r)CA3`-f$wP7B9ba-G)_a>58Rm5Hr4s6uabO2#Y?}FGEM1@UAD; z^)_uDTX>uxtfwVN&LlOnD5li1#f#@Qw_v|K&uo_Zj|(Sp;Fr_3iPg=n2k;KH#Cf~N zoiFieoX z?3zV2qg88mYhNzhg?lbz?!69S2MxF8_>^vqhI3)n+J$FYtCmJ%*sJkmLmXQThr7Bs zdMRO)r)c7bMY0EZP}&;%LCn!dm#P)>r1!Q`B|Nt=YbcNlxKkFm6Z8IuXucXaybe`pHBA&uZ<;#n=hv& zhueH8D@fet%U?+uzwt{BxB1#vkjOXxlCrHfNQt=-glF+WEj~Yh`6JUgSl;IpaA*1c z)5?#WR{s0b%4d3Kz}tQ(wC=Ld@=(aYN&{;y)3JXAI5-j)9M|Ct zGFfr#!Rba@enhw%OgsE2aBqqH1+e4uzkwZ_FM%DKC&-Ps;26#PpaVG01v_n9z)suA z)RFP>!v}rf`0)ElS@^QYgEtF_^DgQF!dKu|6q{L)@!+RV{9#ca6Uop&2llwu$TwnH z@IwswVJsQ0H?ki(tAyVNUnBfW*bNCk0R4pU{m|Jgd;^@^CESW_fO$@v4bZt$_$u5P zN6PQR{oBGPp#QM&R`m6x@GSJj*i!#>jPW($1p0bkcn|n9;dvNWIr^ji4z#Tm#;02~ zR`_|?pCY^z{azsa8`xhgJQX@?gg=L!>x7>I_XxiO{j9_2cbo7a_zvMt-0u@U2K@(x zIhMzT_v3y{*bVtFg@-YwcZDB>pPviA1m;g*j`3#r6BG_Ze}cpCp-uQf@WsN9B373Q zLtR}V{0!vX!ast3M)<$b*EZqJxbG952Au=K>u^6J{43abNO%Qwo)Bi7o)KoQy&%jy zIxZZ7&IiK$qW!V(KKO7__{WG(8Oj_x_r(U`mm!}ZY@zLR;XTlqCp-c=%Y>OP>xB8& zwr=735YK+$Rj|VkdhF`~=sYBR4g7pc_;11gD$IE}E<7Ig89TOp0XqLHJOrB__(Ay( zAg>dC1@%*fx1g_1VfKHyFz?q3x1()b_<7j8MVR@#PxvR`gTgP;e_=l1o)mr=ZJ!nP zVeBsnzY2ZkDE)i~{GMTB(4Q{+Eba@0_u#%?+7n~&WFOZ`Gqk5 zyUs+E>GLt@bO=9&z8Ejc7vmlk_M+dc@XfHXQ@95_B>X($_OvknOTjVWIPAYBd@*$X zM|cK&Xu)?t_QkQx6kZPbpzyh{^Bv(6X!ocv$MO%tZ@}hD!Z*YJ*M*;f&+iF;7dAf? z{xQ^Ffg8YQYmqPy!!gqjO*vyzGoV#i=+Ws8!fXFK`w-dVZJMVNQOW2(cc%sRfu^xUfL)>4{fVTI4Hat z{*Nr-vxOIBzO< zPq;L*4NmsOV;0WRKZ>!A2mhdt;i!vo@~Cdc7*H7mQ-^hMUH=wf87}H0;TVvzQ=E!2 zruUEP>Gxb|%Ny-o#E#@}?6sp@>ffAk7zc8V{vibm{w)GKZGh@~$hlg~hjTb}mqFk# z>;4h%R);a{u~V%{lii(_?H7aZGh@c*gN6`v!pHs zF17dPu*a~_9#h7dkL_UEn~symwmSSyVBqCo9nV|k?&#ftWTGwSaP;nhfb1Mcpm&{9 zz@7c_xC>{ge|MFPmp^SB|CqWZ!&6_v-ghB$4yP~POQuOZfFDUmAjBWV^+|gOm5ybp Qy(RdO`OlC$hhy*m03GI&%m4rY literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_handle_response.o.dep b/cpu/atmega1284/build/rb2_handle_response.o.dep new file mode 100644 index 0000000..f99e409 --- /dev/null +++ b/cpu/atmega1284/build/rb2_handle_response.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_handle_response.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_handle_response.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_init.o b/cpu/atmega1284/build/rb2_init.o new file mode 100644 index 0000000000000000000000000000000000000000..0f28e239fa36185c4ebb3fdee864a459be4a35fe GIT binary patch literal 11540 zcmcJV32rE%hEohE5KaXof2X4AOi=9t)yr?uO(>i@s{ zJpfdWcBbwdJ?wA4{r1~$zx{UK1E?D}Zrx;Amhvu3^{aACsqf5J>S;7C)e7xuvT9KG z{$zaoo$)uV8K=(NZM}c&v{ENdDs^)I2~h7(c8>2K&yBAI@5H?ycMkXGyR7$5X^ms! zC&sC%`$_qKk*)oO8Id-^cfl92IiPEl92>8``)`9v`Sl$9dU_#m!p{iUR)FNwAD>!+ z!nUf*k{dUI{dQFoqQqZSmfU;{T$R&et!P(QwBB|f8>%ZToLT{i z_M=Mo(%$&1zd$Qr$A?y}_Se1%*3S7u6pP#b@V9}wyT9RR2^-5e`5Pr^GdmjHRytT? z1tNP9np&_5)VJf)vL;D2YN`RLHkc}=60`z!IrIw6!bhF%+QdfVX?-B@GUU}-UajSZ zYseAQ#QJ%%XoL`7zuu{jQ5ly|*fJkG zI$|e0PeN0<&PHt-&j{O(CYfkmWG}RJtlPs)zX3PJM^$)AJ2iBO!Y%A>QYk!@avUf= zot5EfrW%mybX^T7pXoT0RkKFndCO|N!ytSK4}g%-X{SR?hPx8bX)(Nn@t$q?WA{UT zv00e9S(7jm?Qe5r^6g-)6KSTt**cNdb|9SeYbPVdXS>RH5}D5Fm}4n2gFMMtxQJfW zH027einK9vqDDR^h|wDj&z%RJES}7!CpC8cq^CSD>h*zWJgV0RqNSQ)RoV4b--A-< zBtG=ss}FHxW2int13K-Z^WOsM*;&!cKLCec)iwPQitgSF(5^(UYNr9idtZm9IftYB z$Y#Gruco>${1~*%WDRZ|;Yzzt^Jf}jT+vH#vX zMH@TW1!2dLG;J$lZ1A4aLEUt38Sg9OnKFKfI4ub?R!x;&g6TA81>0HR;)|+v{}=Ec zI|KPrmd~V!R}*e)%D=(FMQ22$CN?%VLH_$1Te|;1ns23wHE1nXv)SvfQB`wDcC+tMROT8cBBV^Kd6e)9=F51r zjGt6i)S4G=4En-Rt07R2lgOT{g2B}gAaSPP|vq3x~|l|94^%~TIIIda$7K17Yqfd5p1r|2-WF9>dK19T*{~!iNHzv zP%l1I^)(tFqLZylS~+?{mG0k2O{^%)RGX==|76SRYoykcSTYC9+Z{JsSeb6^s33O}xuSu=)L<5bhZb~`&L9|1FEBy_M!$F=JCaI(@gOdY<(xba77D|z6HiKo z2}Fb$*BKfpl5yy!GWkM0lWc{^2HIOUvSdSkQ-+WE%{t3gB+wDhRZu{ zDxNla@m$KN;0VxL(1!!$Q0LWWJN@=rzh$>ieSUSfZDY&j6T=QSO;W{-f!HuSg<~Vx zLypR)jySP`!ir0)iZObF>G)7y6%nmvOVONjokJ=X8;Pgk4GMQCl|h}6)qz&|bj-~b z3y!PwaIr#agl6+jCW&dM3M!q=47KTxVkVy&$~eh3{(2NoCS4Uv4h+RiTw|%6O1TGP zZc=e6VuewaaYhSjSI^?u*1qjq;C4Qj&Ey?eEp#u#5M{%(C#DlPPq1q7#DQEEVz}ix z2`7d5rjkyk;Et+TAs^#FbW|OV!^6__5T0BNon6Q|Tt(J_Sq^yKquV65PnPfW<9 zJr+9=8+79dJrk955gS+a?~d(V*SA}n>f7GGd)@Z+8o#oIW#Xx$h(M?b zYrA>-p0@Sf-EI0LX&%E>kV?jN-_maRI$iRcf{Ppek|prO&gaJxunPR zc3^2~^fp)6q0153RMt%u#*~Y-V<&|)8FC8DMttR^31kfR4wf^6v~n{{q{IQ8ZuHiT zAv^HoE2Od+IWw>ng;>cj^U^3z$h!o#t4=cRI4@_^Xx3e>2IANarA=-UdN5tg59`VD zh*G&--0|_zk$4`i7?-elN0{~8d*#e3jB@%|RinxVJ(UQ4c!7!y=+(gF zaoA0I9+gR%|1jI93niRLA+^9E{=7sviT; z@Xnrs!tP)zw_?TdhfQ2MpZILfE2fI$x>;B&?F+n;n9X3$WV7n(uy+>7LGPO92Tyu$ zSZLA3;_)z4Ol|FL8mD`}8hU4jiTHm{+ zf6q3xsc+K`g=O7|U&3;GacDU5oG%ZmA3G)jNCCW{N#^QP-8{bVRKe+?Hm_g5qOBbV z>U?vW;w8Es_jz3SUUB2xP@DY--gH8cd6#|<@5qmh6ygJ_BVTY$IqZ?^q~je0K3hAI z@j_g64B+|Gp`}R&$1)yvm~w~V_`m?)04kf|*n~P>;4?#5!3jEup=Sc)st&|eA7hnD zcnaYW{96~lD0r7&y?fqcmOj4LRa`#vC8#9v;f;*3SY495dww!_RYiR!cuht967b53 zdUuHl@1AGh@~9X3gEzg3%V&P2DM@^Mm#esZ=GV27#5ZB(I6r)Kuef~X&o?EBPes&~ zQsX)|z_Wgo^sgOvRK0h80Ht>^S4O-FO4j*3&%0RX_dD-m{VuP9lJ(Lv6lYc}*1t2> z8;cp(YGBvK%^G&C+qUx>O@)yh9(O~Uk2r2tD&FCT-Uj7uhZT9*m~c)>Wx`|9Ji24C zWHyGkv$z{$_UiAVfhOZPzmZN7W-j1eSg!)-;ukp!GG6P|)C#^>nC%OMnLi!EQ&8e- zhVIK>ewX2AwxcHq-^$IgX_yZ{A{Ecs?F!l9!c*yDF zZrrp(-iMp|Gf-Y9%=CGEXa5{o}%KqP$a> zQNJIXH$J4h_fmo`UX=UL(7;Fp9?!sl0nuZRA)@TC~*=fX^~e-*BSoWIP_<`b|J z5}pp7X5lMPE)e!X=W^jEVWU_0AmonlmFRm=cq90e!gcWH4&hrMzgyVn#~g)Ufj>_R zzXAR$;eUqx9|#{t-yaJzC*KzC1HUiaje<1ucn14OxT)2ky!heVM>B8?JZYzYJgZ@_G z)sSB;%>P}I6duO7S>aajapAu}dAIPpC?6H(T%Q#FbMRT=PosQE_}j4a1K}T`{IT#9 z`24nT5I+1`I0HNXCEO05YtY6y9*2IDFz1RNiM4zqxJ&p3=&uw$i*b2QvG1$U*(S`~ z+$X#loE2UQouk5AICtSsfbSCy!~SE!|AfBJ2=9S!=Y+3^{5!&2_t!if^!=&ud(eMJ z_+^y;Df}(uKsCmr&nw|ilQ7r1O?W4`Q#cGetA%Tzf2A;Wxlf3%?ATFA6V(58oHgf!`3`gZc7&q5sc-BfhqiL7azDVWGN=Y=;OtQuYDF@?r`zl z*OP0(|Kg*KeQjP9@ zhwx_=0uT3Gp!YDolAd4(xjem{s8^1A>wFUjj?4LZadE(2AE4^OJ9isFF0XAr>Xr6R zz#i9__K@Z!dt+d)4^ZudJwDUD%WEq@P-*Y63jY`n&%fKi?9+vt*AE+%`X=()yV%B? zF{sqLcPie+JSAykJNFPv?|K}1bG-^mj?3#l+?D=4Q!(FqX``P^@rvoG@5A1oLFQfF lSS*p2rRxSH?!yrBm|+Y#7VXyHuCzBD`TWO_d6#GJzX4Yx@^}CM literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_init.o.dep b/cpu/atmega1284/build/rb2_init.o.dep new file mode 100644 index 0000000..e1ff712 --- /dev/null +++ b/cpu/atmega1284/build/rb2_init.o.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_init.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_init.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_known_endpoints.o b/cpu/atmega1284/build/rb2_known_endpoints.o new file mode 100644 index 0000000000000000000000000000000000000000..1a96c3ba51cd534fade07aba53634832d4d56305 GIT binary patch literal 9900 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_loop_rx.o.dep b/cpu/atmega1284/build/rb2_loop_rx.o.dep new file mode 100644 index 0000000..9ebd341 --- /dev/null +++ b/cpu/atmega1284/build/rb2_loop_rx.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_rx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_loop_rx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_loop_tx.o b/cpu/atmega1284/build/rb2_loop_tx.o new file mode 100644 index 0000000000000000000000000000000000000000..de904b8e3fc9745ddf88e714f63bc8e5f4edf394 GIT binary patch literal 8924 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 P!v7bXgsgSZFR%XsA#;jR literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_loop_tx.o.dep b/cpu/atmega1284/build/rb2_loop_tx.o.dep new file mode 100644 index 0000000..a9caa37 --- /dev/null +++ b/cpu/atmega1284/build/rb2_loop_tx.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_loop_tx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_loop_tx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_pool.o b/cpu/atmega1284/build/rb2_pool.o new file mode 100644 index 0000000000000000000000000000000000000000..ac52f61cbb5f2299ba5cf5439d04dae3df2b6d97 GIT binary patch literal 13768 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 z zfSc+9oIFA^@eGYh{T%{j)*+p0E>5%ev!pxTN(+j}j2HXGc3kTB8nE34s6LK|sSrU9yDouprM>51&yF94 zQ?fS^Y7gTQ9iJpsKuJCMV!yBX!meqXH^hhOSAt~+tE4c9!6Ip}l> z6DbGlcz#Z305a@c+GT9I~j=QR9JDhQh(=erf!3*cl9EA0)=Q0nWD*@tcKzX2efO^g5l literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_pool.o.dep b/cpu/atmega1284/build/rb2_pool.o.dep new file mode 100644 index 0000000..9e8f735 --- /dev/null +++ b/cpu/atmega1284/build/rb2_pool.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_pool.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_pool.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_request.o b/cpu/atmega1284/build/rb2_request.o new file mode 100644 index 0000000000000000000000000000000000000000..8fc8e9ea9375bd1c7568d864e366d9400442bda7 GIT binary patch literal 15892 zcmcJW33yx8mB;UsY}v6LS(fcMi<3BULY&2RHbMxH#0kzu7RW|I0Y#Q%Ta7I#S`vqL zvbn(|gv1M3pl(g)V}O<}X{SKTw2*F03uT#3The||QYaJ{C{Q{D3Z2aVfA4vcZ1~#g z_c8B_{C@Y`bI&>V-1F{xTC%rs^)kz{lzmuggUYm&x^sb2|BBAJTA@abP^GH4Z+zdA zeb4oMVD0NssvEBpod-L+e&5we9*FHfxNq;F>HE9xK>^jkP zch~8g-|l?A^R3Qvo%_yppL?$7$)52´Q_nlK`4!v^fW+mEj|+Pk;+SnojZ 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_request.o.dep b/cpu/atmega1284/build/rb2_request.o.dep new file mode 100644 index 0000000..0a68579 --- /dev/null +++ b/cpu/atmega1284/build/rb2_request.o.dep @@ -0,0 +1,38 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_request.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_request.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/cpu/atmega1284/build/rb2_router.o b/cpu/atmega1284/build/rb2_router.o new file mode 100644 index 0000000000000000000000000000000000000000..d26dc28689d3e1566fbaec45abd31e821816224b GIT binary patch literal 17872 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/runtime.o.dep b/cpu/atmega1284/build/runtime.o.dep new file mode 100644 index 0000000..b8d5a43 --- /dev/null +++ b/cpu/atmega1284/build/runtime.o.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/sysevents.h diff --git a/cpu/atmega1284/build/runtime_register_proc.o b/cpu/atmega1284/build/runtime_register_proc.o new file mode 100644 index 0000000000000000000000000000000000000000..37b21ceff53cc41247517a5f2a8fba133d9f410d GIT binary patch literal 30264 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 Gz5fPZcb$L$ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/runtime_register_proc.o.dep b/cpu/atmega1284/build/runtime_register_proc.o.dep new file mode 100644 index 0000000..8d6d051 --- /dev/null +++ b/cpu/atmega1284/build/runtime_register_proc.o.dep @@ -0,0 +1,47 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/outputs.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h diff --git a/cpu/atmega1284/build/runtime_set_running.o b/cpu/atmega1284/build/runtime_set_running.o new file mode 100644 index 0000000000000000000000000000000000000000..aec4f022c1db2e07eafdfca55bd82a7b2161bfa4 GIT binary patch literal 13200 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/runtime_set_running.o.dep b/cpu/atmega1284/build/runtime_set_running.o.dep new file mode 100644 index 0000000..b36cbbf --- /dev/null +++ b/cpu/atmega1284/build/runtime_set_running.o.dep @@ -0,0 +1,41 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/runtime_set_running.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/runtime_set_running.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h diff --git a/cpu/atmega1284/build/seconds_from_midnight.o b/cpu/atmega1284/build/seconds_from_midnight.o new file mode 100644 index 0000000000000000000000000000000000000000..e638498595e60c5b932c4fac2c5c826009f75e86 GIT binary patch literal 3852 zcmb_eU5r%K9Y1I8%NU@x6;zFP45vY4snof1A5DuPnsdPhr@+8YQn17*0}p%z&IM5?TD@ez2KeSt66q z72Kd_6we%_A~!@uE?*$g9_Jh-(Tb8%Orlwr|Ez$@_%AtCBnis`R5exlpg`F%31hn^M~4Kw^FR8gDe~+ zL1QiCYfacmJCN=`5^q<0Fp%Lu5`POlFa9gLmx=Z%t+pm+jkOj)wIldaIxN}) z*%?S}t981b9Hk-#`RDTk`FsJrxH9qxtoGiqWf{Fj?xvPs1`N7WkF_ ztBeTjQu?CH`eUKj_no-D|IkBw57)bPWP7cXq1SHLC-m*( zPE_~9R^Njc1odVZIW!jaejL@kuxWesJ&xzuk#g-coAs@=O|=;_G*-*Uv4HLi(Q zkC)=l9p7^o>db~o>x`0YMC>%fpcOaTQRp{(w-vaZZm-s4iQ--hM?$U33in*!0m3eX zwB@vcQE^~|))rXPY9`iycc%2cBhTg}iXFSBokmYAId&v`H|X~qvG3tWt9xc=t16A^ zv>!~jJv;91+(aBs$H(2p>4km=oZsy4M8e;ktxk73t%d6Jp;-7~(CdC_CFDGR*8lf| z*zE*PtJ=iM5MCH`s;P(vrS=nzhHrbAd61~%2I3|g<@HI|KK!?#EG@g|u&#jJux|!Y z<{Utc`>ENbj)IY9x5A%b^Cp1QJ)3=+WY@758*$H$;1Rf|IQYsRD5Vp$u$lMl*lSU=9qRq{Wv<|>5?`MFB*g@UNXOMcH@ z0PRJZb`umio?YuXr+T7>TG*nt5XYjXq%8-Fpy3AX5ITkJg@wpDk#H#aO_tcbLC3k- z+j9davB!|2)(m~$L20u?v?Ciu_+-QHr7bURET;^B#odu#YW_G6h7@lp3d&q5e-1W9bmASLWrKN^+-C3`=+}r%t!9jz zd2T0GFEN}^26G-BH8=u3N(|rqz)uomtXDyU4CWhC;$6iCbvjmPd?~-3a!w!`Ul~b0 zO7I0fRr;W-_be!u*iA1J>e#-Do=1NGo$U&?<_^#?blOnInt$E!>KzRHL-cG*;@t}& zcl+nrsr8i!z3N?=-I_XPNCes5x4Id{wtrA+hd0Vh6y;uXX@lMy74`z0IiUBqMk z8IMaQ`QK-N=`(}QHi2UNDhUFfko`x7CU#e`AQ&rYiQUT(WZcDvu-ldxfpT277tyo% z{W0^uJW`VUxO9^>04VOj=6;>Pv}7z&OhMYNz-|#jo?q;Y$34PYX5(#v;04H%mc;uQ DDknl; literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/seconds_from_midnight.o.dep b/cpu/atmega1284/build/seconds_from_midnight.o.dep new file mode 100644 index 0000000..41a6db1 --- /dev/null +++ b/cpu/atmega1284/build/seconds_from_midnight.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/seconds_from_midnight.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/seconds_from_midnight.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/smooth.o b/cpu/atmega1284/build/smooth.o new file mode 100644 index 0000000000000000000000000000000000000000..3880d127e12e5d9eacadd4a53b0767ad2383a05c GIT binary patch literal 7152 zcmcIoYiwM_6`tAkZq~c@#<87;6A%uM5Wx1@Nl5c(9-9#21o9vWv?0LF_3pKIlYKb% z?mCas65~=zc*OB0ftJvqv^<4M1*j@CDy=9Ffl6AnYNNI&sY)NJXbGZ7m8g_{XXeb^ zHT^+<(2?(*@0|J0nKNe|ch+~Ty8c=zr7%T`&7vv^@$+dyJdehCiZENWib>+&*zvJv z$6g*gHFjp~{ju|7rz&SE@5#61OS1hzd2aUb!r`^U+lJ$Zg}6@MB0Gkc46h%yl)O{k zE+3Z9$XDeHlG-yPdq)n8JUsHc{JuPM=+vR}qwkNN89g=n^60ap$43v2MvnZX;};!6 zQv7&g<)Vu2=bo$Nx!#ejBRfXEH1d>uNNztncy|9^kN=VUp^1kg zM=lBpQKw?BQ^RU71AT@;piVUhWSA5|dIi3+h~6?ng4Wz|Jz!lRlr5B4v;Q{Y1SV8D z!-J%$Lx;xd&bt9ayOmlI1Cg56yB?*6NR5ZFBsAeb0&k_QQ?@FCVB`q2p;t^(u=!3O zwp8Kdw|(u@Dz}Y7P;Nq}DQq>c@B$e{N;F;~JAuQ2xp;Fbbi)eOz~fXwO^7}L7xj_I zguNg~fkhF{gV$@hyAAid5>n9S_{Q4%s0rdS<)GEmONj{8DeHGep z;4QoxevMZny+k}vABgs30zynA-_bdn@eas|EY8(poW*%c3`bbJn#rJ(?R+M)_&F^$ zvbaEt4JPzVw`*qFrf7- z2-j(RO%gaP>YJjg|Kc0=(rmKf8p?1)lh+b%Ao99aBu^{XSEnPoK~0C&-#{}K(etq= zI&0WBnEfn;s!3N6=1{IA%sq9y1l-VKy8|NHNwW}dr3q-#R;y_6&8;-j=~}aig1=JF zX!J%34u9z63k20lif$wKlj-#wbW^Sc2y)Y{Cw$iSHvq!{idLK5LqpQ=-YUGm3J+G{ z7!6r-D^++T>3cX@g%A2LHihOxnZ>47;j~RSE5d>MOeC@CG|!qggZ7wO>5nc)X+hmBrl7%#DeijvN_y@kOG&ASZpa2n2sqT7+(}y99z?Z z&{>a@A#}AMO?V=h1SZV$dCS^9kBB0y2(4++iux8Ai;*V@dbH7}FF?*>EixFdwl++b zm$wnEF{FBlQ!m)+Rijv}G1d?x)2694ZYNb4Sd5LzxCOe19s%)NNlRd|lxte3lPNQy zNkB8TOD=2EqrJS1aVyqfOx+0y5?61fHZA;v+_%QfU>&$WNr=f2U z+bhzp$i9k9RU~PAc2kv29bAFOL`3*zCF_U?=kVx=2vIbK4d@rL93LTR$ihTutjDvA zgQWnQ@HB{9D)QEfysaXwiZrbk0N^-5;e7%0jFR>12WSk4Z_-|A1{lgrtzG95^z67##}bag9owvft|(~kJ8`elC!Z?E^M{pYfM z35te-))D<5qe<9qD)X5Svs}vNK69s;-9;h1e6d){bfsujc%?M1a$Ol(R7h+oo7xEh z=Xz?etN|Elrym##4j7r$Y`av$i4acQO#dO4SBd$ykvz{jgA-LJn zULKI+TAouvjCKhzWK*Jyk&=udlqtnai@xfwDIP<+HGUFmW~mf_2-IqNw|*ZxI<320X-sDEDW@(7lNwk1WcS5 zrEIZamIe(iopS^->0xkWMPE{CA( z0k5XhaU>ojto72Qfr4!HxjSJj$^|bwP;k=iDI8{;VFc%AiL!5{ie*Z*1%t99Y7JJe zzp;H~Pfxo#Alf_gg-!(HWtPk#TUZswP$M>7)vO}r3c=C*SfDz)EbL@jkgC^=oud`O*`(d>iQTqa&>N&WX?k?y z28Q)k971*xxTW{Ll^sMr_vwsh-CcT*T2>zOT1;6P#~!pCT9)H9dSn((A`aUuTiOJC zW+=CGsObEdZC{PNOgSl8SUdh=H*((I<8L-~PGB?n5#(`e&lW^JTcF(FKyjTR(Pw*( zpnX+D{tM0?%8>RAo)D{7u3XeU8;j)%y;5-3!WZ>CiWGr6E^TNJd_V;>i;fCkzeY>2j_hO zAUN(nEhOUuR8xZZ_Rw!Bx*F;7!FgO*#S$aJA6<-=)yS6tFRqd4e+kv{!Fg({#`MW} z@J*{J{9DY|1ob})YUFw!6A0?xKfW#~8hxzW)h}*e7Zh>P>q~ll-S7#SE}*8+`b)7u zYpoe0*U{iA4#+wx?=LXRu@-%_v!LGi(;Y)M46ALxm7`NEn)Q| zPzV<|2tHkf_u~lwpFn*SPc!|7K*1$L$OZ**T?WR$2f?HNJrEv1P3|OgR4&A$|6w7- zrG&xRj?`SmI1OGm<2LANeG#Vz`W1|~VQFq*{4Vr1)Zb?OUGSe|{3hxb8E=H`PZ>W9+g~xB4*nT~!TB5G4Dd&cFUB>F zmIL+md(<(;C!wCg_-1e}W_%j9^BH#lFJ}B2@EXQ3@Ygeb40@Y!GjN`981+8JFQUGS z@zbaeF}@3a9%1YOQ|>6vR}k9|8PiVt1LG9@pJRLjY8=Rl-;X+uT#)T!z!x(97Wf^E zFNUARjCVu7mT?jMt&F?D*~R!H=npV{0sNzk_aM#_jQlE%*`0gxjFa%cmGR%fNi+T>I7P-cfpa(G7U08- z-v<9UYu8}RSoBs8vSWQ zxiiJI^*~V@-wTNE4Jar+qMP_u02>=X5k&HL)F=$x_z7Mfzg!oY#+tV6H5gDlfkCws z;9^X+L9UJOc1$SEDaA);nu(9*&e#Bo*WvFZ)`2Oe4Zq{Z`8y0}lz;L^OUd}#4@@@Q zc&Ln^@hCNNp*DK%<=XJtun@_YDTYV?sv~Sl2Y9y|0kv^`nDKIMdld1JZ}LgE9}^!f tX|o0Z#gp*&H~}uEFRE+OAU48q6iQ69ddMG4RW57&okfTHp*O|&`wxbGt~~$% literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/smooth.o.dep b/cpu/atmega1284/build/smooth.o.dep new file mode 100644 index 0000000..b2bcd18 --- /dev/null +++ b/cpu/atmega1284/build/smooth.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/smooth.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/smooth.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/spi_driver.o b/cpu/atmega1284/build/spi_driver.o new file mode 100644 index 0000000000000000000000000000000000000000..7a9c194fdea3707ca0362e97ced35d59a61bf15e GIT binary patch literal 11192 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/spi_driver.o.dep b/cpu/atmega1284/build/spi_driver.o.dep new file mode 100644 index 0000000..ff1a4b8 --- /dev/null +++ b/cpu/atmega1284/build/spi_driver.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/spi_driver.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/spi_driver.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spi.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/spinlock.o b/cpu/atmega1284/build/spinlock.o new file mode 100644 index 0000000000000000000000000000000000000000..3d5556c9c8ef5770a94a737e6c37607870f37f24 GIT binary patch literal 5708 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 L;hE(n&)@$7ZZa#$ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/sprintf.o.dep b/cpu/atmega1284/build/sprintf.o.dep new file mode 100644 index 0000000..0ecc89c --- /dev/null +++ b/cpu/atmega1284/build/sprintf.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/sprintf.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/sprintf.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/cpu/atmega1284/build/systick.o b/cpu/atmega1284/build/systick.o new file mode 100644 index 0000000000000000000000000000000000000000..ac8cff6be4b025a0fd92f457a7526a48b9ba3282 GIT binary patch literal 22312 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 KxTcC!yng`W_?r9x literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/systick_secs.o.dep b/cpu/atmega1284/build/systick_secs.o.dep new file mode 100644 index 0000000..20dba69 --- /dev/null +++ b/cpu/atmega1284/build/systick_secs.o.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_secs.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_secs.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/cpu/atmega1284/build/systick_set_handler.o b/cpu/atmega1284/build/systick_set_handler.o new file mode 100644 index 0000000000000000000000000000000000000000..5bdf829c2e2bc167072bd3e559b24407f97d812c GIT binary patch literal 4672 zcmcInU2Ggz6}~gOYp=cW#{Y>aB}*IHq}020;s!TuejL|{Bc)A9+Nu3DX$yLk48 znXwxOL};R*LMs~Ep`oIPAXRw)fhZvL0i=M0kdTVn2ax*KNaX>E ztFN!VwfZGv%d7vo@XKW(-aso~%wG`V#k0?xeRoBOt7u!UT!s8ywD4lzncg#REx*3J zWqIxVJLj|CoHT_{C@D>4PtwaJJXF8;=YXB&ukg&ihDX;W zJk+pMzZ=7WHXQmvEZuY|h9eA2y3D+J1h5-TbW9j2 zW==vS)7IJXb&glKlh{-^OOv$1UCO+N>SrL%^O1^jCu8aC-UpdXLbjWB5*q0r1ELUw zP+M}4=%t<5z+NS!p47*Okxl&>Uit$ckVaxaiMNq~27eEA7ZhDmJH#%D&W!AKD2A^x zjQ6BeY$CglemYIM*vvkuD{?;A0cn(UBq=ZFD-3E1z}mYKr?$}%@#(qYXW=pNX6h zJ%(|3fb#suF}MWD#-g!rL`8Dv2;7&&W~388J3sB1@aTcE%8W&?09=!O$CdHG#^XxD~uZR9B7KszLmq z?0;_6uvQIX?sHoF&8U7CKoZg_cuovqD}fLn1>ok;G$Ia+=wT>L@hLuyf9HDyZX515 zno)YJ=`GaVpfq#zq3IK)s_ole`KhKiH&+ULr&OKWS+W=X(YdEagOhc_x;^jurFyfx z;9(R5C8z1TG!~_Wz%O}C$M#B7uIJgl99nUl(yro;;yu#1)^NOqvMX-ZyxLzWSPDLL zey=uLVl)g|Mf87+reyn0^`Vk3sYlb1)2WBXuUBy=h;DZ&ko||XfR)E zjm|Dq(5pKOd$3XWjul2LmGW$1^k@(}*NYZ@Xd!S+vVZ_~jT1D2TBYHZ3l1t-SXSV> z72!1-l|roH%L;Rb)}remJUUQ|wrVYmsACmP2h6Y38tv#8f;MLI15t6qV^cS6gL&B6 znM&>};%$X~a&25eGOgB}Z#!z0A6zO^Gl9|VH9|193z8^{+^BG=2)pPxwYgs3bSu>V}QUy4o!13ur5*(j==-3kyh4mInxgzl?*Kg|1jZahZ9I(pO zJ@bLX!*$?&Kd1s7)|ff}2wMM;l5eFPO3HZ-h)G4XXe{@Vm^M5EhWu7lpRxu%2qz%p zS0!;5jOf~s?*kz}UksgY&PAJP=vXhr--rD!jlTuXnxXs`kRR1J1b$58Ph#w6HNFkF zuJI4SLyi9c`z4K^2mh+ZtB^md@jUPg8t35Wdm7^#Q@o<_BKYq#z6<ADd z_+K^t6ZrcYg9-jKaV@t4Z`7DRZqfMDn75?yd*I_52awNb{1fm;G#-ZhNsX_-kEik5 z;LmFO8u)pQx$bXk{9EA58jr)zD;ob3{8eJeNWanYUxU9vtd94ADYPU-{_cj5 zH`a&QF^AC@`k_Cbm53tU7zD}qobvUZ?N7b43hr-1AiP( ze=Hg5*#8O|W4H&6^fMIIxpn@imv;boWOpBeqOXW(!}g-)k^Bhk_D3CX&P%$0mW(fp z`z~59U>qMyH>v?Z@f`eJCeXw=N#u#J#dx<6EeP?CC>!VE8DTDy{$55hRv?Qg^7mgM Co8`&? literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/systick_set_handler.o.dep b/cpu/atmega1284/build/systick_set_handler.o.dep new file mode 100644 index 0000000..3bd7e88 --- /dev/null +++ b/cpu/atmega1284/build/systick_set_handler.o.dep @@ -0,0 +1,11 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_handler.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_set_handler.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h diff --git a/cpu/atmega1284/build/systick_set_handler_sec.o b/cpu/atmega1284/build/systick_set_handler_sec.o new file mode 100644 index 0000000000000000000000000000000000000000..2db7bbfbc4f495141578ba6aab2430e13bcbbe06 GIT binary patch literal 4700 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/systick_set_us.o.dep b/cpu/atmega1284/build/systick_set_us.o.dep new file mode 100644 index 0000000..d28712d --- /dev/null +++ b/cpu/atmega1284/build/systick_set_us.o.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/systick_set_us.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/systick_set_us.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/cpu/atmega1284/build/systick_ticks.o b/cpu/atmega1284/build/systick_ticks.o new file mode 100644 index 0000000000000000000000000000000000000000..304bbe1f6f2ec821b9b2da5bace1b0b5f9933c51 GIT binary patch literal 2968 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/thread_alloc.o.dep b/cpu/atmega1284/build/thread_alloc.o.dep new file mode 100644 index 0000000..4fd721d --- /dev/null +++ b/cpu/atmega1284/build/thread_alloc.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_alloc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_alloc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/thread_kill.o b/cpu/atmega1284/build/thread_kill.o new file mode 100644 index 0000000000000000000000000000000000000000..267d71c50c0b1d840df9cb99695e77cf521945c5 GIT binary patch literal 6224 zcmcJTYmgjO6~}M)>`rE9b|;(NB%2LLEfj<#W_NazC5AxWEJ>&=I>n%b2RoX8&xd zlh)tz4=Z)_gi;UUdS&1@bFBAzA5w~!t~vGKskctNb|Ul0@wcCRTm9&c4yEuz>d;+u zYsPJjfNiBoDcTJ*mK%CpYti{=xj@l9R+tbv{)-6e&B;Cm6J43ioB+yMu*zg^V`jLE++n)Q zWOqR)$I6bb{MTdsuDL{`-_=XD(f6ImwUb@*T9_U9A*5;hW!$@8!>xxmmAAX>?3imS zHJ7%tD|g^-TXUtj$`tcb9M{EkMv9k-GSu02wJ1yR6Qa=6uC={M=BQCdb8SC*5d zrxnkGyZhZ>MrDUN3;Fq+fL_yTf`jjy&yg-RlHGKExtY=I4RlT~pX|-Fxq!E)AX~Tr zkdmrfA8cve{ykvYri-T8eH@3u2io}MHXd)|Lma2koo(YIjH{78+QyT_0bI&T>&XG} zP_UjT%2@+lAa4q!kqDz-iE;|;Y&sYo!k43 zpsU}?*>_J!tA`Z z2Ijj*H|~clV@5#z`IHhCSl0G_cCzq7ND7b)j9426&1f$j+}_V z2o2tM%tF}4w1LIOr1XW_HM6VNfiTr&kr+{lW0`f#L9Al~{H6dO@LDFEuM@ z1wo-$4?HTXLNg2sm3q;w6t;MkiW}&rGsR+I^~lPRQLXIPij`)`Qy*2oVy_S$3O}^} zia%ALH+0%~^ndiG;0DF=M?TDET6O+*z zCPU0cv}z^7`vK|LYDo2(+Sl~p3KTdU2)!&DE)pzSvj!0AL@b@@z%42r#@K#ht!aDk zh;!{g)!XM_vvJ|-KFe+e^4JyeAQhwNu?*x?!5N_@&~%BP;NH|0CN%GaQg@K7~!r;ta1 z$;&YXUd0`W*y~8ija)S{g(GQ1OG_Ts9L|O5I_fmLQ&aRxy6V zVtsU}MvC<+51F%+u%vJ*elYQI9H$QT&Y75*dp*}5JS!4O-i}+6l=)^$l)G9?NSPP>mMo>;h+0L| z>kprnAf@tZQc9ffK6v)&R;^hhd(SD~bxt|?9Kqq`ID2+F+Z@Nh4g#XH znxbmM3A`E2hrOUKg~UPlUk;SSCX1g(=B(rgtBuDe-|F}Y(l_5Y$u-`A{}PxeA~W`j zaZ&$bZFOPYZK=q44?0?-K4o ze!uWI`h8URBJgv<*P!hS!a(&~;Xd?rTKHwi{~`P;cnO%&7YP3a z@*!dFt>t9cX4*vN2PD$fBFFc-a)g(HeKKr5hc?v&N5b#I=Yt8>=LSB6nb54&*Cg7< z{qosj>Hm?;{|T|2ZT^=u1SNE<&nW8i*~4=^POM|%zZP&!ZN$a26Atkl>BB`G)-j$- zq>NDMM4e=c?X7^2XYhyV>2oe&fcB2CGfA<%F_e@3y$Ju-KtTWagpB>$4366X)t^w| zCj>F>JV)<(Ova6DASu?n9p#u=^)2WP5hTTRH=~^N?>#(RICu1qPvqFY2pqQos-MB0 zi}{XIT*v*KwAYOX2;)zCTr#n}qhPif#l`e-bT+|CNvz}bfaI}W18bSK;uPyW1_3!v z_dqXhLs@M4Vd0GwA}xY{@p$K=9Q((m8?OQCy#RaPAV`Y)Vx9n literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/thread_kill.o.dep b/cpu/atmega1284/build/thread_kill.o.dep new file mode 100644 index 0000000..b898742 --- /dev/null +++ b/cpu/atmega1284/build/thread_kill.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_kill.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_kill.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/thread_set_periodic.o b/cpu/atmega1284/build/thread_set_periodic.o new file mode 100644 index 0000000000000000000000000000000000000000..ca17e64a187a29b8d573fe817e66ea4c84206214 GIT binary patch literal 7032 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/thread_set_periodic.o.dep b/cpu/atmega1284/build/thread_set_periodic.o.dep new file mode 100644 index 0000000..17699f9 --- /dev/null +++ b/cpu/atmega1284/build/thread_set_periodic.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_set_periodic.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_set_periodic.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/thread_set_priority.o b/cpu/atmega1284/build/thread_set_priority.o new file mode 100644 index 0000000000000000000000000000000000000000..9199c8693a755dece6e3541048a8d7e8014e4de6 GIT binary patch literal 6984 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 Gy?+C$aa%h8 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/thread_wake.o.dep b/cpu/atmega1284/build/thread_wake.o.dep new file mode 100644 index 0000000..051fd2e --- /dev/null +++ b/cpu/atmega1284/build/thread_wake.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/thread_wake.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/thread_wake.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/timer_cancel.o b/cpu/atmega1284/build/timer_cancel.o new file mode 100644 index 0000000000000000000000000000000000000000..20c8dbfdccffbd74ea835681b127ecc222a667a1 GIT binary patch literal 7204 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 G?EM>Gkdj>h literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/timer_cancel.o.dep b/cpu/atmega1284/build/timer_cancel.o.dep new file mode 100644 index 0000000..5e37266 --- /dev/null +++ b/cpu/atmega1284/build/timer_cancel.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_cancel.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_cancel.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/timer_create.o b/cpu/atmega1284/build/timer_create.o new file mode 100644 index 0000000000000000000000000000000000000000..3eca6929b63c8f09aeaca3057cade3c5c5fc7540 GIT binary patch literal 6976 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/timer_create.o.dep b/cpu/atmega1284/build/timer_create.o.dep new file mode 100644 index 0000000..94b9d01 --- /dev/null +++ b/cpu/atmega1284/build/timer_create.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_create.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/timer_create_ex.o b/cpu/atmega1284/build/timer_create_ex.o new file mode 100644 index 0000000000000000000000000000000000000000..987b8cfec5fcf9bdd427c4becebf113e7a762f01 GIT binary patch literal 6648 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 Kueo6f?EMeS$P*v{ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/timer_create_ex.o.dep b/cpu/atmega1284/build/timer_create_ex.o.dep new file mode 100644 index 0000000..2587fae --- /dev/null +++ b/cpu/atmega1284/build/timer_create_ex.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_create_ex.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_create_ex.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/timer_start.o b/cpu/atmega1284/build/timer_start.o new file mode 100644 index 0000000000000000000000000000000000000000..0c39995206e702d7a4206dfb29cd10ccf1433a97 GIT binary patch literal 8176 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/timer_start.o.dep b/cpu/atmega1284/build/timer_start.o.dep new file mode 100644 index 0000000..eda6e44 --- /dev/null +++ b/cpu/atmega1284/build/timer_start.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/timer_start.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/timer_start.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/unix2datetime.o b/cpu/atmega1284/build/unix2datetime.o new file mode 100644 index 0000000000000000000000000000000000000000..e145312bf88426d321ffddacc7c97aebb760736e GIT binary patch literal 3444 zcmb_eU2IfE6rQln{QqRHP_KrDzNa%kA#nAKAN0_U;yn z1WKv|1!dWV5EHa95nnVR#Dqj+f-xkb5B6Oj+Q!5O9|WF#sNcDFW_yd8_`peK&Ub$1 z%$b=pbMNULyI>`}Ll0Zd+StX~bnQm%c5S9MTf0|VsLj-8 z>qq!W{s#|V<@YcAb}o9U_tV~+y+80<{5rqPwabhZrhejIHzae4Y~lH>bAxjub7UuL z&wO7)&QDFwRp(|e&0Jcj-mA`5XR5cWH>%Usi`BrDGqAAlRwGT1ot4K~@lhRNMzQ2b@aN7`M%nvc(j3O}*<=a*|Vb-kN)j`t?c3$1Sl14Up8zU7= z-Ru%O84E5$CN#B8z34+MUFVrP&(?Xa&PlW0*1lQi2kZP$ohRy?G|!{?*hv=H+%-)& zjpm2k+^Tg=lkgT=6BMDzS2*jMo`gty7h>*6P}sBzy<#J$o(Ph+B&sxp1*qqLX)O%* z1(>c0kG)pRS4_i-4e#BvV>Fi4OL{(ate8)yV^%2{%cj@G^zl+8eJo-fHwl{h5u+3{ zi>XQ;qo9Z-izS1cS*&7}V)-_Y<+Yf+GjiG3dwvWWw1vzuZS13 zCM?D(h1~IhlwLNPr6?ii%B{F!T~L zbA?LTU^`!aH9XYcAGR|ON6bPbo!71GmI1=Wh;<})G%{AnKr)k+E!c+V`oob-CN&n0 z?6sI#ER?g4Y>jjf4==4!uyUD#kqReqWJ?#$^2I_X+;E_m!ZMP@LJDqT5b12Mf4Wv+ z+mI+Txs8CdZ(!MC#hHo0W!(TYiy@Sk%_044iBtS4bCO zv#~xlRx-w=gc4uki91us7)wXza|J{CV@eiH7ERN@R=B4~mvqx`ty4m}oRU23!GgrZ zQK)Vavi;~cbSl0nZIHG$G!GV@0N&z~R|9Wz$@ETba>?{UEz*O9?GP4ceK;Tc6Vh;3 z@s7Dkbv^+NmFm3wE}0H$kyO^QC;+K!*+a6%_6iNvMLRM(=<=XiT6!Pw5F`?#BZ=We z!U4M-uy4ms8|;hk89891vUxO7GBP$kVU&tOSaSCeB9$A*`)B3sUkdx}#bYvwY5UOH zm!kvG{!2XK!iQb>9bgq>>9O~r@en!?F^+{0r?VtXF;)c@WErFkc&-VgT_53U_eeZu2xCK7H3;YfEeZpexbRlT2Zum5zaZxfFVUdHq zpQ5y&YK&b$J|Yf2;rP8k2cmP7dRy^7x-gAFqq&HvAZQ;Xk&UPejlRr-Xhf6vMHvQf zMqfkPTQAkKJ6<2+(f(6BDj6AX5}4xkp%J|VL)tX~L2Bm(mwq>~X%tJ6^!o@3 z*Kl?Rey>X>aGICsGMYQT&93#*m6!QZ>B?FGWUEk!pA!%y=OQjj-nQI68 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/unix2datetime.o.dep b/cpu/atmega1284/build/unix2datetime.o.dep new file mode 100644 index 0000000..33a3c67 --- /dev/null +++ b/cpu/atmega1284/build/unix2datetime.o.dep @@ -0,0 +1,4 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unix2datetime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/unix2datetime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/unixtime.o b/cpu/atmega1284/build/unixtime.o new file mode 100644 index 0000000000000000000000000000000000000000..3085857593df99f5854694ec442c40024d96f495 GIT binary patch literal 14128 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/unixtime.o.dep b/cpu/atmega1284/build/unixtime.o.dep new file mode 100644 index 0000000..1b61476 --- /dev/null +++ b/cpu/atmega1284/build/unixtime.o.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/unixtime.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/unixtime.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/time.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/runtime.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/timer.h diff --git a/cpu/atmega1284/build/usart.o b/cpu/atmega1284/build/usart.o new file mode 100644 index 0000000000000000000000000000000000000000..dabe15d516c333546db0817cf841ab8c884194b1 GIT binary patch literal 9944 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/usart.o.dep b/cpu/atmega1284/build/usart.o.dep new file mode 100644 index 0000000..c6edf6f --- /dev/null +++ b/cpu/atmega1284/build/usart.o.dep @@ -0,0 +1,22 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h diff --git a/cpu/atmega1284/build/usart_configure.o b/cpu/atmega1284/build/usart_configure.o new file mode 100644 index 0000000000000000000000000000000000000000..8c2087f79f997971c81943f31eef3cdc8aad47c7 GIT binary patch literal 7048 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/usart_head.o.dep b/cpu/atmega1284/build/usart_head.o.dep new file mode 100644 index 0000000..1924fbe --- /dev/null +++ b/cpu/atmega1284/build/usart_head.o.dep @@ -0,0 +1,23 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/usart_head.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/usart_head.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/usart_options.o b/cpu/atmega1284/build/usart_options.o new file mode 100644 index 0000000000000000000000000000000000000000..c652c66a08d56b5a5ffab6beb1bedc9648d81874 GIT binary patch literal 5008 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 C77)z< literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/wait_async_set.o.dep b/cpu/atmega1284/build/wait_async_set.o.dep new file mode 100644 index 0000000..06c49fa --- /dev/null +++ b/cpu/atmega1284/build/wait_async_set.o.dep @@ -0,0 +1,7 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wait_async_set.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wait_async_set.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h diff --git a/cpu/atmega1284/build/wait_async_test.o b/cpu/atmega1284/build/wait_async_test.o new file mode 100644 index 0000000000000000000000000000000000000000..d30a416ebdf5360b79bfd946688f0ca4b63e9682 GIT binary patch literal 3484 zcmb_eU2IfE6rQ`gZI>==Y0F>Z-x@$m!tS=E5CRt1B2r?JpP~{pxqEx}cDv#3Zrytq zs2ZUr8Uy}pTL@7}#KdTP!bBf5Jm9l0@S=~>L?29ipuG5^N&UXrneA;g(Faa)=6q-7 zoHJ);&dj~%4-7wJ7>3Yfh!L@<3GsTX5MN`kUmA3aHKJYIn7K7`d*<%Uy_toXw%NyK z|1z%Eg!l^lJ@^iI4m=MQ(?YBUe>#_#>YW;#8kx#XRj1ybx;hoVjM4e)a~IQ(O}9-i z)b7>p)^68s)o#?HR~|gy^FKLV_$ z)^VxFD~;aubgbKUF{>3|VMMwqKv}SH?NO{B2fzVBNwE-T7e>3WIo=ry$J>pL z=GE(w{U#BM?Lh~!Str8rU9sJ$Ls^X=Pkb+C)3txXNn5ORpMAqP$&X%KC*7@su?vj%Zi>ZMtu zJgXNY9!6gXtWTUM%SO>wScb$pw#J|FRRXn2U$BvWq3l+Rj+Y)fa`?bVdfcj5ZtiT^ z9UDt~6+1mXwk>U)sU*kFCcSe-!lHHBsiceLT-AjaI?{Hz;?P*6t6nATmTk*T?{{3+ zsz}$oZKrpn`cgg8xKOg)YR(Z4YF-sD?M-?@oV5zRX?c?++w>jJPuX0e=jTw)sd4TQ zto(v~8VZWio~YIV&Q$K+y6Nc6P%C!F^nBBvw6Q>Q!l{^WcPeKr*VX=}FH9B6^c>q0 z2cLUBvA?%BA=jBm7E8%7*Yd^(`iRR(?{r}zIawZ7hWM>a&ie9hasw^ptfv*!Y!BbiG~SpZ6hzP(_2)lo)|e{zL+_5LhjOH zTsp}x|BS`Fb}n11IaaakfWwkGnVv9V;=E#Fcjdyi^&x_cP16T;?5xdYn}O372lwya zmFUK4Y^fgwihMPA0c42K`AsVmq0dkf^>?^_IkFI$c=%!{6OUX9XW~uoMl$i{_nI>C zmiL=8@#qIFnfQuYG!t)~ULjK6WYM=qA^l2Sj%!qLTr1@}=X{aMS-vGwqn;;HvNz}8 z>`_HyWsFH|jgD5FGg`xySz?JhSjsy~z1>2|(e{{9r0jCB=wL^KQ{ZfhPJLNRT3&Wd z5pjP(W6JQ7FBNrMjR1x572#X7r_pzRf$z;gK;I0!H=w70cL(&H4NP!<;c2vsIW5me zeo-18;rjO?pv!MYK$nkxK*wtvps-jK(73*~WqMp3Q$1P84rFEpELcAi%k+PFXiRhD zs5xYsD1U(AIyipdpajP=hmW3;$S+Qq6(=w8t4^h?lx3y7cx}}!Htpg>uF%Ic)_@~y zKpVis+)JJbF<-KT!aT`M3iDrp-$mMRhqo%suV;_K{4(=wI@Y2A4S_=lI1EWUL;XZh z7}%Iz$aaNKAqlz}@+lSK5n{E~%z^gjA-5>p0{a~bUxMVkwD|?{S%r_m=BUC$z@rL( z30Y8>|2ZXv%aE@rJP&z6;Q`oi4#vlqT70Z<8vS1=%zu|}6#fbFmckn$e^9s$_CG3o z6LL;rj{mMOg!n_@52?UM?+N{x!_VmMB37j-_cli3`g^7AHwJup)&@5l#Ix2mvg3a= z3HpHL-x6d$I1ARqG15ce2zVcuF0R3DSQ|ldUJ}nem|rfiUS5BlA4^x) r0HF8{@jfR|r01fv@QI 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 Y9zze=!<5TksN?p!AsmN1OrgDh17BO?AOHXW literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/wcslen.o.dep b/cpu/atmega1284/build/wcslen.o.dep new file mode 100644 index 0000000..bf36a35 --- /dev/null +++ b/cpu/atmega1284/build/wcslen.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/wcslen.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/wcslen.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/build/yield.o b/cpu/atmega1284/build/yield.o new file mode 100644 index 0000000000000000000000000000000000000000..704b73782e99b2901731703783d2bb20a87f025b GIT binary patch literal 6032 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 HpuhhDf@t)5 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/yield.o.dep b/cpu/atmega1284/build/yield.o.dep new file mode 100644 index 0000000..c0b3ed0 --- /dev/null +++ b/cpu/atmega1284/build/yield.o.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/yield.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/yield.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284/global.make b/cpu/atmega1284/global.make new file mode 100755 index 0000000..f26fe37 --- /dev/null +++ b/cpu/atmega1284/global.make @@ -0,0 +1,9 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=atmega1284p -Wall -Os +ASFLAGS+=-ggdb -mmcu=atmega1284p +LDFLAGS+=-ggdb -mmcu=atmega1284p + + + + + diff --git a/cpu/atmega1284p/Makefile b/cpu/atmega1284p/Makefile new file mode 100755 index 0000000..32734be --- /dev/null +++ b/cpu/atmega1284p/Makefile @@ -0,0 +1 @@ +DEPENDS=../../core ../../usart/at90 \ No newline at end of file diff --git a/cpu/atmega1284p/global.make b/cpu/atmega1284p/global.make new file mode 100755 index 0000000..f26fe37 --- /dev/null +++ b/cpu/atmega1284p/global.make @@ -0,0 +1,9 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=atmega1284p -Wall -Os +ASFLAGS+=-ggdb -mmcu=atmega1284p +LDFLAGS+=-ggdb -mmcu=atmega1284p + + + + + diff --git a/cpu/atmega1284p/include/cpu/systick.h b/cpu/atmega1284p/include/cpu/systick.h new file mode 100755 index 0000000..e502af7 --- /dev/null +++ b/cpu/atmega1284p/include/cpu/systick.h @@ -0,0 +1,5 @@ +#pragma once + +#define SYSTICK_ISR TIMER0_COMPA_vect + + \ No newline at end of file diff --git a/cpu/atmega1284p/src/.m1284_timer0.c.dep b/cpu/atmega1284p/src/.m1284_timer0.c.dep new file mode 100644 index 0000000..989734b --- /dev/null +++ b/cpu/atmega1284p/src/.m1284_timer0.c.dep @@ -0,0 +1,17 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/m1284_timer0.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/src/m1284_timer0.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h diff --git a/cpu/atmega1284p/src/m1284_timer0.c b/cpu/atmega1284p/src/m1284_timer0.c new file mode 100755 index 0000000..a72c4e7 --- /dev/null +++ b/cpu/atmega1284p/src/m1284_timer0.c @@ -0,0 +1,33 @@ +#include +#include +#include + +uint16_t t0_steps[] = { 1,8,64,256,1024 }; + +void systick_timer_init(uint32_t systick_us) +{ + uint64_t clocks = ((uint64_t)systick_us) * ((uint64_t)__freq_cpu) / 1000000LL; + uint8_t n_prescaler; + + for (n_prescaler = 0; n_prescaler < 5 ; n_prescaler++) + { + if ((clocks / t0_steps[ n_prescaler ]) < 256) { + break; + }; + }; + + if (n_prescaler > 4) + return; + + n_prescaler++; + + TCCR0A = _BV(WGM01); + OCR0A = (uint8_t)(clocks / t0_steps[ n_prescaler-1 ]); + TCCR0B = (n_prescaler & 0x07); + TIMSK0 |= _BV(OCIE0A); + + //_systick_us = 1000000LL * (1LL << prescale_shift[ n_prescaler ]) * (ocr + 1) / __freq_cpu; + _systick_us = systick_us; +}; + + diff --git a/cpu/atmega32u4/Makefile b/cpu/atmega32u4/Makefile new file mode 100755 index 0000000..b9e4566 --- /dev/null +++ b/cpu/atmega32u4/Makefile @@ -0,0 +1,2 @@ +SUBS+=avr/core avr/usart/at90 avr/usb cpu/timer/at90timer0 + diff --git a/cpu/atmega32u4/global.make b/cpu/atmega32u4/global.make new file mode 100755 index 0000000..ac5860e --- /dev/null +++ b/cpu/atmega32u4/global.make @@ -0,0 +1,9 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=atmega32u4 -Wall -Os +ASFLAGS+=-ggdb -mmcu=atmega32u4 +LDFLAGS+=-ggdb -mmcu=atmega32u4 + + + + + diff --git a/cpu/atmega32u4/include/cpu/systick.h b/cpu/atmega32u4/include/cpu/systick.h new file mode 100644 index 0000000..fdc5f87 --- /dev/null +++ b/cpu/atmega32u4/include/cpu/systick.h @@ -0,0 +1,7 @@ +#pragma once + +#define SYSTICK_ISR TIMER0_COMPB_vect +#define _st_counter() (TCNT0) + +extern uint32_t _st_prescale; + \ No newline at end of file diff --git a/cpu/atmega8/Makefile b/cpu/atmega8/Makefile new file mode 100755 index 0000000..7c3b6fe --- /dev/null +++ b/cpu/atmega8/Makefile @@ -0,0 +1,3 @@ +SUBS+=avr/core cpu/timer/m8timer2 + + diff --git a/cpu/atmega8/global.make b/cpu/atmega8/global.make new file mode 100755 index 0000000..4bbb91c --- /dev/null +++ b/cpu/atmega8/global.make @@ -0,0 +1,5 @@ +COMPILER_PREFIX=avr- +CFLAGS+=-ggdb -mmcu=atmega8 -Wall -Os -D__SIMPLE_ADC__ -D__DISABLE_ASSERTIONS__ +ASFLAGS+=-ggdb -mmcu=atmega8 +LDFLAGS+=-ggdb -mmcu=atmega8 -Os + diff --git a/cpu/atmega8/include/cpu/systick.h b/cpu/atmega8/include/cpu/systick.h new file mode 100755 index 0000000..3ffb428 --- /dev/null +++ b/cpu/atmega8/include/cpu/systick.h @@ -0,0 +1,4 @@ +#pragma once + +#define SYSTICK_ISR TIMER2_COMP_vect + diff --git a/timer/at90timer0/Makefile b/timer/at90timer0/Makefile new file mode 100755 index 0000000..d241ee0 --- /dev/null +++ b/timer/at90timer0/Makefile @@ -0,0 +1,2 @@ +SUBS+= + diff --git a/timer/at90timer0/src/at90usb_timer0.c b/timer/at90timer0/src/at90usb_timer0.c new file mode 100644 index 0000000..686439c --- /dev/null +++ b/timer/at90timer0/src/at90usb_timer0.c @@ -0,0 +1,42 @@ +#include +#include + +#define PRESCALER_LEVELS 5 +int prescale_shift[] = { 0, 3, 6, 8, 10 }; + +uint32_t _st_prescale; + +void systick_timer_init(uint32_t systick_us) +{ + uint64_t clocks = ((uint64_t)systick_us) * ((uint64_t)__freq_cpu) / 1000000LL; + uint64_t ocr; + uint8_t n_prescaler; + + + for (n_prescaler=0;n_prescaler> prescale_shift[ n_prescaler ]; + if (ocr < 256){ + break; + }; + }; + + if (n_prescaler < PRESCALER_LEVELS) { + + TCCR0A = _BV(WGM01); + TCCR0B = ((n_prescaler + 1) & 0x07); + OCR0A = (uint8_t)ocr; + TIMSK0 |= _BV(OCIE0B); + + _systick_us = (1000000LL * (1LL << prescale_shift[ n_prescaler ]) * (ocr + 1)) / __freq_cpu; + _st_prescale = (1L << prescale_shift[ n_prescaler ]); + +#if defined(DEBUG_SCHEDULING) + + _ts_timer_resolution = ocr; + _ts_timer_cycles_per_increment = _st_prescale; + _ts_timer_increments_per_second = __freq_cpu / _ts_timer_cycles_per_increment; + +#endif + + }; +}; diff --git a/timer/m8timer2/Makefile b/timer/m8timer2/Makefile new file mode 100755 index 0000000..d241ee0 --- /dev/null +++ b/timer/m8timer2/Makefile @@ -0,0 +1,2 @@ +SUBS+= + diff --git a/timer/m8timer2/src/m8timer2.c b/timer/m8timer2/src/m8timer2.c new file mode 100644 index 0000000..012c3c3 --- /dev/null +++ b/timer/m8timer2/src/m8timer2.c @@ -0,0 +1,36 @@ +#include +#include +#include +#include + +uint16_t t0_steps[] = { 0,1,8,32,64,128,256,1024 }; + +void systick_timer_init(uint32_t systick_us) +{ + uint64_t clocks = ((uint64_t)systick_us) * ((uint64_t)__freq_cpu) / 1000000LL; + uint8_t n_prescaler; + + for (n_prescaler = 1; n_prescaler < 8 ; n_prescaler++) + { + if ((clocks / t0_steps[ n_prescaler ]) < 256) { + break; + }; + }; + + if (n_prescaler > 7) + return; + + + TCCR2 = _BV(WGM21); + TCNT2 = 0; + OCR2 = (uint8_t)(clocks / t0_steps[ n_prescaler-1 ]); + TCCR2 |= (n_prescaler & 0x07); + TIMSK |= _BV(OCIE2); + + _systick_us = 1000000LL * (t0_steps[ n_prescaler ]<<1) * (OCR2 + 1) / __freq_cpu; + if ((&_st_cycles_per_intervall)!=NULL){ + _st_cycles_per_intervall = ((uint32_t)OCR2) * t0_steps[ n_prescaler-1 ]; + } +} + + diff --git a/usart/at90/Makefile b/usart/at90/Makefile new file mode 100755 index 0000000..e69de29 diff --git a/usart/at90/src/.at90_usart.c.dep b/usart/at90/src/.at90_usart.c.dep new file mode 100644 index 0000000..ac34816 --- /dev/null +++ b/usart/at90/src/.at90_usart.c.dep @@ -0,0 +1,23 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/.build/at90_usart.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/usart/at90/src/at90_usart.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/usart/at90/src/at90_usart.c b/usart/at90/src/at90_usart.c new file mode 100644 index 0000000..b5e07f1 --- /dev/null +++ b/usart/at90/src/at90_usart.c @@ -0,0 +1,229 @@ +#include +#include + +#include +#include +#include + +#include +#include + +#if defined( __AVR_AT90CAN128__ ) || defined ( __AVR_ATmega1284P__ ) || defined ( __AVR_ATmega1284__ ) + #define HAS_USART0 + #define USARTS 2 +#else + #define USARTS 1 +#endif + +int at90_usart_configure (usart_t *usart,uint32_t baud,uint32_t config); +int at90_usart_mode_set (usart_t *usart,uint16_t mode); +int at90_usart_mode_clear (usart_t *usart,uint16_t mode); + +typedef struct +{ + volatile uint8_t UCSRA; + volatile uint8_t UCSRB; + volatile uint8_t UCSRC; + volatile uint8_t reserved; + union + { + volatile uint16_t UBRR; + struct + { + volatile uint8_t UBRRL; + volatile uint8_t UBRRH; + }; + }; + volatile uint8_t UDR; +} at90_usart_regs_t; + +/* +struct at90_usart_regs* _at90_hw[] = { + (struct at90_usart*)0xC0, + (struct at90_usart*)0xC8 +}; +*/ + +typedef struct { + usart_t usart; + at90_usart_regs_t + *hw; +} at90_usart_t; + + +at90_usart_t at90_usarts[] = { + +#if defined( HAS_USART0 ) + // usart0 + { + usart: { + configure: at90_usart_configure, + mode_set: at90_usart_mode_set, + mode_clear: at90_usart_mode_clear + }, + hw: (at90_usart_regs_t*)0xC0 + }, +#endif + + // usart1 + { + usart: { + configure: at90_usart_configure, + mode_set: at90_usart_mode_set, + mode_clear: at90_usart_mode_clear + }, + hw: (at90_usart_regs_t*)0xC8 + } +}; + +usart_t* usart_device_get(int usart) +{ + if ((usart >= 0) && (usart < USARTS)){ + return &(at90_usarts[usart].usart); + }; + return NULL; +}; + +int at90_usart_configure(usart_t *_usart,uint32_t baud,uint32_t config) +{ + ATOMIC + at90_usart_t *usart = (at90_usart_t*)_usart; + + uint32_t ubr = (__freq_cpu / ( 16 * baud )) - 1; + uint8_t b,c; + + usart->hw->UCSRB = 0; + + b = _BV(RXCIE1) | _BV(RXEN1) | _BV(TXEN1); + c = 0; + + if (config & USART_PAR_E) + c |= _BV(UPM11); + else if (config & USART_PAR_O) + c |= _BV(UPM11) | _BV(UPM10); + + if (config & USART_STOP2) + c |= _BV(USBS1); + + if (config & USART_6BIT) + c |= _BV(UCSZ10); + else if (config & USART_7BIT) + c |= _BV(UCSZ11); + else if (config & USART_8BIT) + c |= _BV(UCSZ10) | _BV(UCSZ11); + + + usart->hw->UBRR = ubr; + usart->hw->UCSRA = 0; //_BV(U2X1); + usart->hw->UCSRC = c; + usart->hw->UCSRB = b; + + return 0; +}; + +int at90_usart_mode_set (usart_t *_usart,uint16_t mode){ + at90_usart_t *usart = (at90_usart_t*)_usart; + + if (mode & USART_MODE_TX){ + usart->hw->UCSRB |= _BV(UDRIE1); + }; + + if (mode & USART_MODE_RX){ + usart->hw->UCSRB |= _BV(RXCIE1); + }; + + return ESUCCESS; +}; +int at90_usart_mode_clear (usart_t *_usart,uint16_t mode){ + at90_usart_t *usart = (at90_usart_t*)_usart; + + if (mode & USART_MODE_TX){ + usart->hw->UCSRB &= ~_BV(UDRIE1); + }; + + if (mode & USART_MODE_RX){ + usart->hw->UCSRB &= ~_BV(RXCIE1); + }; + + return ESUCCESS; +}; + + + +#if defined( HAS_USART0 ) + +VECT(USART0_UDRE_vect){ + +#if defined(__USART_BUFFER__) // buffer based i/o + if (buffer_free( &(at90_usarts[0].usart.tx) ) > 0){ + at90_usarts[0].hw->UDR = buffer_byte( &(at90_usarts[0].usart.tx) ); + } else { + at90_usarts[0].hw->UCSRB &= ~_BV(UDRIE1); + }; +#else + + int ch = usart_fifo_read( &(at90_usarts[0].usart.tx) ); + if (ch < 0){ + at90_usarts[0].hw->UCSRB &= ~_BV(UDRIE1); + } else { + at90_usarts[0].hw->UDR = ch; + }; + +#endif +}; + +VECT(USART0_RX_vect){ + +#if defined(__USART_BUFFER__) // buffer based i/o + if (buffer_free( &(at90_usarts[0].usart.rx) ) > 0){ + buffer_byte( &(at90_usarts[0].usart.rx) ) = at90_usarts[0].hw->UDR; + } else { + at90_usarts[0].hw->UDR; + }; +#else + + usart_fifo_write( &(at90_usarts[0].usart.rx), at90_usarts[0].hw->UDR ); + +#endif +}; + +#endif + + +VECT(USART1_UDRE_vect){ + +#if defined(__USART_BUFFER__) // buffer based i/o + if (buffer_free( &(at90_usarts[USARTS - 1].usart.tx) ) > 0){ + at90_usarts[USARTS - 1].hw->UDR = buffer_byte( &(at90_usarts[USARTS - 1].usart.tx) ); + } else { + at90_usarts[USARTS - 1].hw->UCSRB &= ~_BV(UDRIE1); + }; +#else + + int ch = usart_fifo_read( &(at90_usarts[USARTS - 1].usart.tx) ); + if (ch < 0){ + at90_usarts[USARTS - 1].hw->UCSRB &= ~_BV(UDRIE1); + } else { + at90_usarts[USARTS - 1].hw->UDR = ch; + }; + +#endif + +}; + +VECT(USART1_RX_vect){ + +#if defined(__USART_BUFFER__) // buffer based i/o + if (buffer_free( &(at90_usarts[USARTS - 1].usart.rx) ) > 0){ + buffer_byte( &(at90_usarts[USARTS - 1].usart.rx) ) = at90_usarts[USARTS - 1].hw->UDR; + } else { + at90_usarts[USARTS - 1].hw->UDR; + }; +#else + + usart_fifo_write( &(at90_usarts[USARTS - 1].usart.rx), at90_usarts[USARTS - 1].hw->UDR ); + +#endif + +}; + diff --git a/usb/Makefile b/usb/Makefile new file mode 100755 index 0000000..d241ee0 --- /dev/null +++ b/usb/Makefile @@ -0,0 +1,2 @@ +SUBS+= + diff --git a/usb/include/usb/cdc_serial.h b/usb/include/usb/cdc_serial.h new file mode 100644 index 0000000..0ee456d --- /dev/null +++ b/usb/include/usb/cdc_serial.h @@ -0,0 +1,60 @@ +#pragma once + +#include +#include +#include + +/* Macros: */ +/** Endpoint address of the CDC device-to-host notification IN endpoint. */ +#define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 2) + +/** Endpoint address of the CDC device-to-host data IN endpoint. */ +#define CDC_TX_EPADDR (ENDPOINT_DIR_IN | 3) + +/** Endpoint address of the CDC host-to-device data OUT endpoint. */ +#define CDC_RX_EPADDR (ENDPOINT_DIR_OUT | 4) + +/** Size in bytes of the CDC device-to-host notification IN endpoint. */ +#define CDC_NOTIFICATION_EPSIZE 8 + +/** Size in bytes of the CDC data IN and OUT endpoints. */ +#define CDC_TXRX_EPSIZE 16 + +/* Type Defines: */ + /** Type define for the device configuration descriptor structure. This must be defined in the + * application code, as the configuration descriptor contains several sub-descriptors which + * vary between devices, and which describe the device's usage to the host. + */ + typedef struct + { + USB_Descriptor_Configuration_Header_t Config; + + // CDC Control Interface + USB_Descriptor_Interface_t CDC_CCI_Interface; + USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header; + USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM; + USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union; + USB_Descriptor_Endpoint_t CDC_NotificationEndpoint; + + // CDC Data Interface + USB_Descriptor_Interface_t CDC_DCI_Interface; + USB_Descriptor_Endpoint_t CDC_DataOutEndpoint; + USB_Descriptor_Endpoint_t CDC_DataInEndpoint; + } USB_Descriptor_Configuration_t; + +/* Function Prototypes: */ + uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, + const uint8_t wIndex, + const void** const DescriptorAddress) + ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); + + + +void cdc_serial_init(void); +avrSerial* + cdc_serial_get(void); + +uint8_t cdc_serial_connected(void); + + + diff --git a/usb/include/usb/servicelink.h b/usb/include/usb/servicelink.h new file mode 100644 index 0000000..e55e54f --- /dev/null +++ b/usb/include/usb/servicelink.h @@ -0,0 +1,100 @@ +#pragma once + +#include + +#include +#include +#include + +#include + +/**** + +Telegram auf Leitung: + +Byte Inhalt + +0 Magic +1 request +2 achse +3 knoten +4 register low +5 register high +(4x) (value) +(2x) (chksum) + +****/ + + +#define SL_REQ_READ 0x01 +#define SL_REQ_WRITE 0x02 +#define SL_REQ_EVENT 0x04 +#define SL_REQ_FAIL 0x08 +#define SL_REQ_INT 0x10 +#define SL_REQ_FLOAT 0x20 +#define SL_REQ_ACK 0x40 + +#define SL_MAGIC 0x66 + +struct sl_header +{ + uint8_t request; + uint8_t achse; + uint8_t knoten; + uint16_t register_no; +}; + +struct servicelink_telegram +{ + struct sl_header header; + union bits32 value; + avrChksum chksum; +}; + +typedef struct { + union { + uint8_t request; + struct { + uint8_t has_value:1; // enthält daten + uint8_t is_float:1; // ist vom typ float + uint8_t failed:1; // signalisiert einen fehlschlag (z.B. timeout) + uint8_t timeout:1; // signalisiert ein timeout + uint8_t extra_payload:4;// zusätzliche bytes folgen auf dieses telegram + }; + }; + + union { + uint8_t addr; + struct { + uint8_t node:4; + uint8_t ax:4; + }; + }; + + uint16_t register_no; + + union { + int32_t i32; + float f32; + } value; + +} sl_v2_telegram_t; + + +typedef struct { + list_t list; + systick_t timeout; + + sl_v2_telegram_t + sl_telegram; + rb2_request_t + rb2_request; + +} sl_v2_telegram_list_t; + + + +void servicelink(FILE *stream); +void servicelink2(void *_arg); + +int sl2_dbg_free_telegrams(void); diff --git a/usb/include/usb/types.h b/usb/include/usb/types.h new file mode 100644 index 0000000..9189f78 --- /dev/null +++ b/usb/include/usb/types.h @@ -0,0 +1,68 @@ +#pragma once + +#include + +typedef int (*usb_cb_setup_request_t)(int endpoint,usb_device_request_t *request); + + +typedef struct { + uint8_t bLength; + uint8_t bDescriptorType; + wchar_t characters[]; +} usbstring_t; + +#define USBSTRING_INIT(text) { bLength: sizeof(text), bDescriptorType: DT_STRING, characters: text } + +static inline void usbstring_set(usbstring_t *dst,char *src){ + int i, + n = strlen(src); + + for (i=0;icharacters[i] = (wchar_t)src[i]; + } + dst->bDescriptorType = DT_STRING; + dst->bLength = (n*2) + 2; +}; + + +typedef struct { + uint8_t size; + struct usb_standard_configuration_descriptor + *descriptor; + + usb_cb_setup_request_t + setup_handler[ 7 ]; + +} device_configuration_t; + + +typedef struct { + struct usb_standard_device_descriptor + descriptor; + + device_configuration_t + **configurations; + + usbstring_t + **strings; +} usb_device_setup_t; + + +typedef union { + uint8_t value; + struct { + uint8_t HWEnabled:1; // USB Device Hardware is enabled + /* Device states USB Spec. 2.0 Chapter 9 */ + uint8_t Attached:1; + uint8_t Powered:1; + uint8_t Default:1; + uint8_t Address:1; + uint8_t Configured:1; + uint8_t Suspended:1; + + uint8_t Debugged:1; // 1-Bit Flag reserved for debugging, must be ignored + }; +} usb_device_state_t; + + + diff --git a/usb/include/usb/usb.h b/usb/include/usb/usb.h new file mode 100644 index 0000000..4f33b5e --- /dev/null +++ b/usb/include/usb/usb.h @@ -0,0 +1,62 @@ +#pragma once + + +/* + + First try of basic USB API for AVR + +*/ + +struct usb_device; +typedef struct usb_device USB_DEVICE; + +#include +#include + +#include + +#include + +#include +#include +#include +#include + +#include + +// Record setup requests in ram with hardware status +//#define USB_DEBUG_SETUP + + +#ifdef USB_DEBUG_SETUP + +typedef struct { + uint8_t cfg0x, + cfg1x, + sta0x, + sta1x, + intx, + ienx; + uint16_t bcx; + + usb_device_request_t + request; + +} usb_debug_setup_t; + +extern usb_debug_setup_t *usb_debug_setup; +extern int *usb_debug_index; +extern int *usb_debug_size; + +#endif + + +#include +#include + + + + + + + diff --git a/usb/include/usb/usb_configuration.h b/usb/include/usb/usb_configuration.h new file mode 100755 index 0000000..3f59c93 --- /dev/null +++ b/usb/include/usb/usb_configuration.h @@ -0,0 +1,2 @@ +#pragma once + diff --git a/usb/include/usb/usb_defs.h b/usb/include/usb/usb_defs.h new file mode 100644 index 0000000..b01eca3 --- /dev/null +++ b/usb/include/usb/usb_defs.h @@ -0,0 +1,45 @@ +#pragma once + +#include +struct __usb_pllcsr +{ + uint32_t fcpu; + uint8_t pllcsr; +}; + + +#ifdef __AVR_AT90USB1286__ + #define __USB_PLLCSR { \ + { 8000000L, _BV(PLLP0) | _BV(PLLP1) }, \ + { 16000000L, _BV(PLLP0) | _BV(PLLP2) }, \ + {} \ + } + + #define USB_CAN_DEVICE + #define USB_CAN_HOST +#endif +#ifdef __AVR_AT90USB646__ + #define __USB_PLLCSR { \ + { 8000000L, _BV(PLLP0) | _BV(PLLP1) }, \ + { 16000000L, _BV(PLLP1) | _BV(PLLP2) }, \ + {} \ + } + + #define USB_CAN_DEVICE + #define USB_CAN_HOST +#endif +#ifdef __AVR_ATmega32U4__ + #define __USB_PLLCSR { \ + { 8000000L, 0 }, \ + { 16000000L, _BV(PINDIV) }, \ + {} \ + } + #define __USB_PLLFRQ (_BV(PLLUSB) | _BV(PDIV1) | _BV(PDIV3)) + + #define USB_CAN_DEVICE +#endif + + +#ifndef __USB_PLLCSR + #error "NO PLL Settings defined for this MCU" +#endif diff --git a/usb/include/usb/usb_descriptor.h b/usb/include/usb/usb_descriptor.h new file mode 100644 index 0000000..b73bd5b --- /dev/null +++ b/usb/include/usb/usb_descriptor.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include + +#include + +#define LANGUAGE_ID_ENG L"\x0409" +#define LANGUAGE_ID_GER L"\x0407" + + + + + + + + + +void usb_initialize_descriptors(); +void usb_initialize_strings(); + + +void* usb_get_descriptor(uint8_t dType,uint8_t index,uint16_t *size); + + diff --git a/usb/include/usb/usb_device.h b/usb/include/usb/usb_device.h new file mode 100644 index 0000000..79db975 --- /dev/null +++ b/usb/include/usb/usb_device.h @@ -0,0 +1,109 @@ +#pragma once + +#define MAX_ENDPOINTS 7 + +#include +#include + + +typedef struct { + usb_device_state_t state; + int current_configuration; + + usb_device_setup_t *descriptor; + + usb_standard_endpoint_descriptor_t + ep0desc; + + usb_ll_endpoint_t endpoints[ MAX_ENDPOINTS ]; + + + uint8_t _addr_setup; +} usb_device_t; + +extern usb_device_t usb_device; + + + +/** APPLICATION / USER API **/ + + int usb_device_on (usb_device_setup_t *ddesc); + void usb_device_off (void); + void usb_device_attach (void); + void usb_device_detach (void); + int usb_device_check_attachment (void); + + int usb_device_wait_vbus (void); + + int usb_endpoint_set_buffer (int endpoint,void *buffer,int size); + int usb_endpoint_unset_buffer (int endpoint); + int usb_endpoint_check_buffer (int endpoint); + int usb_endpoint_read (int endpoint,void *buffer,int len); + int usb_endpoint_write (int endpoint,void *buffer,int len); + +#define usb_endpoint_print(ep,te) usb_endpoint_write( ep, te, strlen(te) ) + +static inline int usb_device_has_configuration(int nConfiguration){ + if (usb_device.current_configuration == nConfiguration) + return ESUCCESS; + return -EFAIL; +}; + +/** LOW LEVEL Functions **/ +void usb_irq_endpoint_setup (uint8_t endpoint); +void usb_irq_endpoint_txin (uint8_t endpoint); +void usb_irq_endpoint_rxout (uint8_t endpoint); +void usb_irq_endpoint_nakin (uint8_t endpoint); + +int usb_ll_endpoint_select (uint8_t endpoint); + +void usb_ll_enable_irq (uint16_t irq); +void usb_ll_disable_irq (uint16_t irq); +void usb_ll_disable_all_irq (void); +void usb_ll_disable_all_endpoint_irq + (void); +void usb_ll_clear_irq (uint16_t irq); + +void usb_ll_setup_configuration + (int nConfiguration); + +void usb_ll_endpoint_disable (int nEP); +void usb_ll_endpoint_enable (struct usb_standard_endpoint_descriptor* descriptor); + +int usb_ll_setup_request (int endpoint,usb_device_request_t *request); + + + + +static inline void avr_usb_endpoint_enable_irq(uint8_t irqbit) { UEIENX |= (1< + +#define MAX_ENDPOINTS 7 + +int avr_usb_device_configure_pll(void); + +static inline void avr_usb_device_enable_padreg(void) { UHWCON |= _BV(UVREGE); }; +static inline void avr_usb_device_disable_padreg(void) { UHWCON &= ~_BV(UVREGE); }; + +static inline void avr_usb_device_enable_macro(void) { USBCON |= _BV(USBE); }; +static inline void avr_usb_device_disable_macro(void) { USBCON &= ~_BV(USBE); }; + +static inline void avr_usb_device_enable_vbuspad(void) { USBCON |= _BV(OTGPADE); }; +static inline void avr_usb_device_disable_vbuspad(void) { USBCON &= ~_BV(OTGPADE); }; + + +static inline void avr_usb_device_freeze_clock(void) { USBCON |= _BV(FRZCLK); }; +static inline void avr_usb_device_unfreeze_clock(void) { USBCON &= ~_BV(FRZCLK); }; + + +/*** AT90USBXXXX Errata: Wrong VBUSTI & IDTI handling, must not be used as IRQ source! ***/ +static inline void avr_usb_device_enable_vbusti(void) { }; // USBCON |= _BV(VBUSTE); }; +static inline void avr_usb_device_disable_vbusti(void) { }; // USBCON &= ~_BV(VBUSTE); }; + +void avr_usb_device_vbusti(void); + +static inline uint8_t avr_usb_device_bus_is_connected(void) { return (USBSTA & _BV(VBUS)) ? -1 : 0; }; + + diff --git a/usb/include/usb/usb_endpoint.h b/usb/include/usb/usb_endpoint.h new file mode 100644 index 0000000..1cacc6b --- /dev/null +++ b/usb/include/usb/usb_endpoint.h @@ -0,0 +1,46 @@ +#pragma once + +#include + +#include +#include + + +#define USB_EP_CONTROL (0) +#define USB_EP_ISOCHRONOUS (1) +#define USB_EP_BULK (2) +#define USB_EP_INTERRUPT (3) + +#define USB_EP_IN 1 +#define USB_EP_OUT 0 + +#define USB_EPCB_TXIN 0 +#define USB_EPCB_RXOUT 1 +#define USB_EPCB_SETUP 2 + +#define USB_EP0_SIZE 64 + +enum _usb_controlep_stages { IDLE, SETUP, DATA, STATUS }; + +struct usb_ll_endpoint +{ + struct usb_standard_endpoint_descriptor* + desc; + + uint8_t *buffer; + int blen, + bpos; + + usb_device_request_t + *request; + + usb_cb_setup_request_t + cb_setup; + +}; +typedef struct usb_ll_endpoint + usb_ll_endpoint_t; + + + + diff --git a/usb/include/usb/usb_interrupt.h b/usb/include/usb/usb_interrupt.h new file mode 100755 index 0000000..bdc45b0 --- /dev/null +++ b/usb/include/usb/usb_interrupt.h @@ -0,0 +1,26 @@ +#pragma once + +#define USB_IRQ_ID_DEVICE 0x0100 +#define USB_IRQ_ID_ENDPOINT 0x0200 +#define USB_IRQ_ID_INTERFACE 0x0400 + +#define USB_IRQ_STARTOFFRAME (USB_IRQ_ID_DEVICE | _BV(SOFE)) +#define USB_IRQ_ENDOFRESET (USB_IRQ_ID_DEVICE | _BV(EORSTE)) +#define USB_IRQ_ENDOFRESUME (USB_IRQ_ID_DEVICE | _BV(EORSME)) +#define USB_IRQ_UPSTREAMRESUME (USB_IRQ_ID_DEVICE | _BV(UPRSME)) +#define USB_IRQ_WAKEUP (USB_IRQ_ID_DEVICE | _BV(WAKEUPE)) +#define USB_IRQ_SUSPEND (USB_IRQ_ID_DEVICE | _BV(SUSPE)) + +#define USB_IRQ_VBUST (USB_IRQ_ID_INTERFACE | _BV(VBUSTE)) + +#define USB_IRQ_SETUP (USB_IRQ_ID_ENDPOINT | _BV(RXSTPE)) +#define USB_IRQ_FLOWERR (USB_IRQ_ID_ENDPOINT | _BV(FLERRE)) +#define USB_IRQ_NAKIN (USB_IRQ_ID_ENDPOINT | _BV(NAKINE)) +#define USB_IRQ_NAKOUT (USB_IRQ_ID_ENDPOINT | _BV(NAKOUTE)) +#define USB_IRQ_RXOUT (USB_IRQ_ID_ENDPOINT | _BV(RXOUTE)) +#define USB_IRQ_STALLED (USB_IRQ_ID_ENDPOINT | _BV(STALLEDE)) +#define USB_IRQ_TXIN (USB_IRQ_ID_ENDPOINT | _BV(TXINE)) + + + + diff --git a/usb/include/usb/usb_spec.h b/usb/include/usb/usb_spec.h new file mode 100644 index 0000000..3bff75d --- /dev/null +++ b/usb/include/usb/usb_spec.h @@ -0,0 +1,180 @@ +#pragma once + +#include + +/************************************************* + + usb_spec.h + + Structures and Constants defined by USB 2.0 Spec. + +*************************************************/ + +#include + +#define USB_VERSION_BCD 0x0110 + +#define DT_DEVICE 0x01 +#define DT_CONFIGURATION 0x02 +#define DT_STRING 0x03 +#define DT_INTERFACE 0x04 +#define DT_ENDPOINT 0x05 +#define DT_DEVICE_QUALIFIER 0x06 +#define DT_OTHER_SPEED_CONF 0x07 +#define DT_INTERAFCE_POWER 0x08 + +#define USB_REQ_GET_STATUS 0x00 +#define USB_REQ_CLEAR_FEATURE 0x01 +#define USB_REQ_SET_FEATURE 0x03 +#define USB_REQ_SET_ADDRESS 0x05 +#define USB_REQ_GET_DESCRIPTOR 0x06 +#define USB_REQ_SET_DESCRIPTOR 0x07 +#define USB_REQ_GET_CONFIGURATION 0x08 +#define USB_REQ_SET_CONFIGURATION 0x09 +#define USB_REQ_GET_INTERFACE 0x0a +#define USB_REQ_SET_INTERFACE 0x0b +#define USB_REQ_SYNCH_FRAME 0x0c + +#define REQT_HOSTTODEVICE (0) +#define REQT_DEVICETOHOST (1<<7) + +#define REQT_STANDARD (0) +#define REQT_CLASS (1 << 5) +#define REQT_VENDOR (2 << 5) + +#define REQT_REC_DEVICE (0) +#define REQT_REC_INTERFACE (1) +#define REQT_REC_ENDPOINT (2) +#define REQT_REC_OTHER (3) + +#define REQT_CHECK(bmrt,dir,type,recipient) (bmrt == (dir | type | recipient)) +#define REQT_CHECK_HOSTTODEVICE(bmrt) ((bmrt & REQT_HOSTTODEVICE) ? -1 : 0) + +struct usb_descriptor_header; +struct usb_standard_device_descriptor; +struct usb_device_qualifier; +struct usb_standard_configuration_descriptor; +struct usb_other_speed_configuration; +struct usb_standard_interface_descriptor; +struct usb_standard_endpoint_descriptor; +struct usb_string_descriptor_zero; +struct usb_string_descriptor; + +typedef struct usb_descriptor_header + usb_descriptor_header_t; + +typedef struct usb_standard_device_descriptor + usb_standard_device_descriptor_t; +typedef struct usb_standard_endpoint_descriptor + usb_standard_endpoint_descriptor_t; + +typedef struct usb_device_request + usb_device_request_t; + + +struct usb_descriptor_header +{ + uint8_t bLength; + uint8_t bDescriptorType; +}; + +struct usb_standard_device_descriptor +{ + uint8_t bLength; + uint8_t bDescriptorType; + uint16_t bcdUSB; + uint8_t bDeviceClass; + uint8_t bDeviceSubClass; + uint8_t bDeviceProtocol; + uint8_t bMaxPacketSize0; + uint16_t idVendor, + idProduct, + bcdDevice; + uint8_t iManufacturer, + iProduct, + iSerialNumber, + bNumConfigurations; +}; + +struct usb_device_qualifier +{ + uint8_t bLength, + bDescriptorType; + uint16_t bcdUSB; + uint8_t bDeviceClass, + bDeviceSubClass, + bDeviceProtocol, + bMaxPacketSize0, + bNumConfigurations, + bReserved; +}; + +struct usb_standard_configuration_descriptor +{ + uint8_t bLength, + bDescriptorType; + uint16_t wTotalLength; + uint8_t bNumInterfaces, + bConfigurationValue, + iConfiguration, + bmAttributes, + bMaxPower; +}; + +struct usb_other_speed_configuration +{ + uint8_t bLength, + bDescriptorType; + uint16_t wTotalLength; + uint8_t bNumInterfaces, + bConfigurationValue, + iConfiguration, + bmAttributes, + bMaxPower; +}; + +struct usb_standard_interface_descriptor +{ + uint8_t bLength, + bDescriptorType, + bInterfaceNumber, + bAlternateSetting, + bNumEndpoints, + bInterfaceClass, + bInterfaceSubClass, + bInterfaceProtocol, + iInterface; +}; + +struct usb_standard_endpoint_descriptor +{ + uint8_t bLength, + bDescriptorType, + bEndpointAddress, + bmAttributes; + uint16_t wMaxPacketSize; + uint8_t bInterval; +}; + +struct usb_string_descriptor +{ + uint8_t bLength, + bDescriptorType; + wchar_t data[0]; +}; + + + + +struct usb_device_request +{ + uint8_t bmRequestType, + bRequest; + uint16_t wValue, + wIndex, + wLength; +}; + + + + diff --git a/usb/include/usb/usb_spec_cdc.h b/usb/include/usb/usb_spec_cdc.h new file mode 100644 index 0000000..dbe3936 --- /dev/null +++ b/usb/include/usb/usb_spec_cdc.h @@ -0,0 +1,81 @@ +#pragma once + + +#include + +#define CS_INTERFACE 0x24 +#define CS_ENDPOINT 0x25 + +#define CS_SUB_HEADER 0x00 +#define CS_SUB_ACM 0x02 +#define CS_SUB_UNION 0x06 + + +#define CDC_DEVICE_CLASS 0x02 +#define CDC_INTERFACE_CLASS 0x02 +#define CDC_INTERFACE_SUBCLASS_ACM 0x02 + +#define CDC_INTERFACE_DATA_CLASS 0x0A + +#define CDC_REQUEST_GETLINECODING 0x21 +#define CDC_REQUEST_SETLINECODING 0x20 +#define CDC_REQUEST_SETCONTROL_LINE_STATE 0x22 +#define CDC_REQUEST_SENDBREAK 0x23 + +struct usb_cdc_linecoding +{ + uint32_t dwDTERate; + uint8_t bCharFormat; + uint8_t bParityType; + uint8_t bDataBits; +}; + + +struct usb_cdc_functional_header +{ + uint8_t bFunctionLength; + uint8_t bDescriptorType; + uint8_t bDescriptorSubtype; + + uint16_t bcdCDC; +}; + +struct usb_cdc_functional_acm +{ + uint8_t bFunctionLength; + uint8_t bDescriptorType; + uint8_t bDescriptorSubtype; + + uint8_t bmCapabilities; +}; + +struct usb_cdc_functional_union +{ + uint8_t bFunctionLength; + uint8_t bDescriptorType; + uint8_t bDescriptorSubtype; + + uint8_t bControlInterface; + uint8_t bSubordinateInterface0; +}; + +struct usb_cdc_functional_union_interface +{ + uint8_t bSubordinateInterface0; +}; + +typedef struct { + union { + uint16_t value; + struct { + uint16_t dtr:1; + uint16_t rts:1; + }; + }; +} cdc_linestate_t; + +extern cdc_linestate_t _usb_cdc; + +int usb_cdc_setup_request(int endpoint,usb_device_request_t *request); + + diff --git a/usb/src/servicelink.c b/usb/src/servicelink.c new file mode 100644 index 0000000..d83a263 --- /dev/null +++ b/usb/src/servicelink.c @@ -0,0 +1,113 @@ +#include +#include +#include +#include +#include + +#include + +#include + +void servicelink(FILE *stream) +{ + struct servicelink_telegram telegram; + avrChksum chk; + int l; + + thread_set_priority( NULL, TP_LOW ); + + while (1) + { + int ch; + + ch = fgetc( stream ); + if (ch == SL_MAGIC) + { + read(stream,(char*)&telegram.header,sizeof(struct sl_header)); + + if (telegram.header.request & SL_REQ_WRITE) + read(stream,(char*)&telegram.value, 4); + else + telegram.value.i32 = 0; + + read(stream,(char*)&telegram.chksum,sizeof(telegram.chksum)); + + chksum( &chk, &telegram, sizeof(telegram) - sizeof(avrChksum) ); + + if (chk.combined == telegram.chksum.combined) + { + if (telegram.header.request & SL_REQ_WRITE) + { + if (telegram.header.request & SL_REQ_INT) + { + if ( + rb2_write_int32( + (RB2_ADDR){ ax: telegram.header.achse, node: telegram.header.knoten }, + telegram.header.register_no, + &telegram.value.i32 ) == ESUCCESS + ) + telegram.header.request |= SL_REQ_ACK; + else + telegram.header.request |= SL_REQ_FAIL; + + } else if (telegram.header.request & SL_REQ_FLOAT) + { + if ( + rb2_write_float( + (RB2_ADDR){ ax: telegram.header.achse, node: telegram.header.knoten }, + telegram.header.register_no, + &telegram.value.f32 ) == ESUCCESS + ) + telegram.header.request |= SL_REQ_ACK; + else + telegram.header.request |= SL_REQ_FAIL; + }; + }; + + telegram.value.i32 = 0; + + if (telegram.header.request & SL_REQ_READ) + { + if (telegram.header.request & SL_REQ_INT) + { + if ( + rb2_read_int32( + (RB2_ADDR){ ax: telegram.header.achse, node: telegram.header.knoten }, + telegram.header.register_no, + &telegram.value.i32 ) == ESUCCESS + ) + telegram.header.request |= SL_REQ_ACK; + else + telegram.header.request |= SL_REQ_FAIL; + + } else if (telegram.header.request & SL_REQ_FLOAT) + { + if ( + rb2_read_float( + (RB2_ADDR){ ax: telegram.header.achse, node: telegram.header.knoten }, + telegram.header.register_no, + &telegram.value.f32 ) == ESUCCESS + ) + telegram.header.request |= SL_REQ_ACK; + else + telegram.header.request |= SL_REQ_FAIL; + }; + }; + + l = ((telegram.header.request & (SL_REQ_ACK | SL_REQ_READ)) == (SL_REQ_ACK | SL_REQ_READ) ) ? sizeof(telegram) : sizeof(telegram) - 4; + chksum( &telegram.chksum, &telegram, l - sizeof(avrChksum) ); + + stream->put( SL_MAGIC, stream ); + write( stream, (char*)&telegram.header, sizeof( telegram.header ) ); + + if ((telegram.header.request & (SL_REQ_ACK | SL_REQ_READ)) == (SL_REQ_ACK | SL_REQ_READ) ) + write( stream, (char*)&telegram.value, 4 ); + + write( stream, (char*)&telegram.chksum, sizeof(avrChksum) ); + }; + + }; + yield(); + }; +}; + diff --git a/usb/src/servicelink_v2.c b/usb/src/servicelink_v2.c new file mode 100644 index 0000000..136fb88 --- /dev/null +++ b/usb/src/servicelink_v2.c @@ -0,0 +1,250 @@ +/** + * servicelink_v2.c Servicelink Version 2 Implementierung + * + **/ + +#include +#include + +#include + +#include +#include + +#include + +#include + +/** + +servicelink nutzt CDC-ACM Profil +Endpunkt 3 für RX (HOST->DEV) +Endpunkt 4 für TX (DEV->HOST) + +**/ + +/* __SL2_ASYNC defines asynchronous servicelink worker */ +#define __SL2_ASYNC__ + +#define SL2_POOL_SIZE 24 + +#define EP_RX 4 +#define EP_TX 3 + +#define SL2_TIMEOUT 25000L + + + +static sl_v2_telegram_list_t + *current_rx, + *current_tx; + +static LIST(queue_pool); // sl_telegram_list_t Unbenutzt +static LIST(queue_tx); // sl_telegram_list_t Wartet auf Senden... +static LIST(queue_pending); // sl_telegram_list_t Wartet auf RegBUS Antwort... + +int sl2_dbg_free_telegrams(void){ + return list_count( &queue_pool ); +}; + + +int sl2_2_rb2(sl_v2_telegram_list_t *tele){ + +#ifdef __SL2_ASYNC__ + uint8_t type; + + //usb_device.state.Debugged = usb_device.state.Debugged ? 0 : 1; + + + type = (tele->sl_telegram.is_float ? RDT_FLOAT : RDT_INT32) | + (tele->sl_telegram.has_value ? RDT_WRITE : 0); + + if (rb2_build_request( &(tele->rb2_request), (RB2_ADDR){ ax: tele->sl_telegram.ax, node:tele->sl_telegram.node}, tele->sl_telegram.register_no, type, &tele->sl_telegram.value.i32) < 0){ + tele->sl_telegram.failed = 1; + list_append( &(tele->list), &queue_tx ); + } else { + + if (rb2_enqueue_pending( &(tele->rb2_request) ) < 0){ + tele->sl_telegram.failed = 1; + list_append( &(tele->list), &queue_tx ); + } else { + rb2_route( &(tele->rb2_request.telegram) ); + + tele->timeout = systick_ticks() + SL2_TIMEOUT; + list_append( &(tele->list), &queue_pending ); + }; + }; + + +#else + if (tele->sl_telegram.is_float){ + if (tele->sl_telegram.has_value){ + if (rb2_write_float( (RB2_ADDR){ ax: tele->sl_telegram.ax, node:tele->sl_telegram.node}, tele->sl_telegram.register_no, &tele->sl_telegram.value.f32 ) < 0){ + tele->sl_telegram.failed = 1; + } else { + tele->sl_telegram.has_value = 0; + }; + } else { + if (rb2_read_float( (RB2_ADDR){ ax: tele->sl_telegram.ax, node:tele->sl_telegram.node}, tele->sl_telegram.register_no, &tele->sl_telegram.value.f32 ) < 0){ + tele->sl_telegram.failed = 1; + } else { + tele->sl_telegram.has_value = 1; + }; + }; + + } else { + if (tele->sl_telegram.has_value){ + if (rb2_write_int32( (RB2_ADDR){ ax: tele->sl_telegram.ax, node:tele->sl_telegram.node}, tele->sl_telegram.register_no, &tele->sl_telegram.value.i32 ) < 0){ + tele->sl_telegram.failed = 1; + } else { + tele->sl_telegram.has_value = 0; + }; + } else { + if (rb2_read_int32( (RB2_ADDR){ ax: tele->sl_telegram.ax, node:tele->sl_telegram.node}, tele->sl_telegram.register_no, &tele->sl_telegram.value.i32 ) < 0){ + tele->sl_telegram.failed = 1; + } else { + tele->sl_telegram.has_value = 1; + }; + }; + }; + + list_append( &(tele->list), &queue_tx ); +#endif + + return ESUCCESS; +}; + +#ifdef __SL2_ASYNC__ + +void sl2_async_check(void){ + list_t *l,*t; + sl_v2_telegram_list_t + *tele; + + for_each_list_entry_save(l, t, &queue_pending){ + tele = list_entry( l, sl_v2_telegram_list_t, list ); + + if (tele->rb2_request.telegram.flags.fail){ + + rb2_unqueue_pending( &(tele->rb2_request) ); + list_remove( &(tele->list) ); + + tele->sl_telegram.failed = 1; + tele->sl_telegram.value.i32 = tele->rb2_request.telegram.i32; + + list_append( &(tele->list), &queue_tx ); + + } else if (tele->rb2_request.telegram.flags.response) { + + rb2_unqueue_pending( &(tele->rb2_request) ); + list_remove( &(tele->list) ); + + tele->sl_telegram.has_value = !tele->sl_telegram.has_value; + if (tele->sl_telegram.has_value){ + tele->sl_telegram.value.i32 = tele->rb2_request.telegram.i32; + }; + + list_append( &(tele->list), &queue_tx ); + + } else if (tele->timeout < systick_ticks()) { + + rb2_unqueue_pending( &(tele->rb2_request) ); + list_remove( &(tele->list) ); + + tele->sl_telegram.failed = 1; + tele->sl_telegram.timeout = 1; + + list_append( &(tele->list), &queue_tx ); + + }; + }; +}; + +#endif + + +void servicelink2(void *_arg) { + sl_v2_telegram_list_t + *tele; + list_t *l; + + int i; + + thread_set_priority( NULL, TP_LOW ); + + for (i=0;i < SL2_POOL_SIZE;i++){ + tele = malloc( sizeof( sl_v2_telegram_list_t ) ); + if (tele){ + memset( tele, 0x00, sizeof( sl_v2_telegram_list_t) ); + list_append( &(tele->list), &queue_pool ); + }; + }; + + while (1){ + + while (usb_device_has_configuration(0)){ + + if (current_rx){ + list_remove( &(current_rx->list) ); + list_append( &(current_rx->list), &queue_pool ); + current_rx = NULL; + }; + if (current_tx){ + list_remove( &(current_tx->list) ); + list_append( &(current_tx->list), &queue_pool ); + current_tx = NULL; + }; + + wait_ms(100); + }; + + wait_ms(1); + + if (usb_endpoint_check_buffer( EP_RX ) <= 0) { + usb_endpoint_unset_buffer( EP_RX ); + + if (current_rx){ + sl2_2_rb2( current_rx ); + current_rx = NULL; + }; + if (!current_rx){ + l = list_fetch_first( &queue_pool ); + if (l){ + current_rx = list_entry( l, sl_v2_telegram_list_t, list ); + usb_endpoint_set_buffer( EP_RX, &(current_rx->sl_telegram), sizeof( sl_v2_telegram_t ) ); + current_rx->timeout = systick_ticks() + SL2_TIMEOUT; + } else { + }; + }; + } else { + if (current_rx && (current_rx->timeout < systick_ticks())){ // Reset Endpoint Buffer for resync... + usb_endpoint_set_buffer( EP_RX, &(current_rx->sl_telegram), sizeof( sl_v2_telegram_t ) ); + current_rx->timeout = systick_ticks() + SL2_TIMEOUT; + }; + }; + +#ifdef __SL2_ASYNC__ + + sl2_async_check(); + +#endif + + + if (usb_endpoint_check_buffer( EP_TX ) <= 0) { + if (current_tx){ + list_append( &(current_tx->list), &queue_pool ); + current_tx = NULL; + }; + if (!current_tx){ + l = list_fetch_first( &queue_tx ); + if (l){ + current_tx = list_entry( l, sl_v2_telegram_list_t, list ); + usb_endpoint_set_buffer( EP_TX, &(current_tx->sl_telegram), sizeof( sl_v2_telegram_t ) ); + } else { + usb_endpoint_unset_buffer( EP_TX ); + }; + }; + }; + + }; +}; diff --git a/usb/src/usb.c b/usb/src/usb.c new file mode 100755 index 0000000..6067ea0 --- /dev/null +++ b/usb/src/usb.c @@ -0,0 +1,9 @@ +#include + +#include +#include + + + + + diff --git a/usb/src/usb_cdc_class_setup.c b/usb/src/usb_cdc_class_setup.c new file mode 100644 index 0000000..efd83b9 --- /dev/null +++ b/usb/src/usb_cdc_class_setup.c @@ -0,0 +1,39 @@ +#include + +#include +#include + +struct usb_cdc_linecoding cdc_linecoding = { + dwDTERate: 56000, + bCharFormat: 0, + bParityType: 0, + bDataBits: 8 +}; + +cdc_linestate_t _usb_cdc; + +static uint32_t temp32; + +int usb_cdc_setup_request(int endpoint,usb_device_request_t *request){ + + switch (request->bRequest) + { + case CDC_REQUEST_GETLINECODING: + usb_endpoint_set_buffer( endpoint, &cdc_linecoding, sizeof(cdc_linecoding)); + return 0; + case CDC_REQUEST_SETLINECODING: + usb_endpoint_set_buffer( endpoint, &cdc_linecoding, sizeof(cdc_linecoding)); + return 0; + case CDC_REQUEST_SETCONTROL_LINE_STATE: + _usb_cdc.value = request->wValue; + usb_endpoint_set_buffer( endpoint, &temp32, 0 ); + return 0; + case CDC_REQUEST_SENDBREAK: + usb_endpoint_set_buffer( endpoint, &temp32, 0 ); + return 0; + default: + return -1; + }; + +}; + diff --git a/usb/src/usb_descriptor.c b/usb/src/usb_descriptor.c new file mode 100644 index 0000000..c158bd1 --- /dev/null +++ b/usb/src/usb_descriptor.c @@ -0,0 +1,35 @@ +#include +#include + +#include +#include + +struct { + struct usb_descriptor_header header; + uint16_t lang; +} LANG = +{ + header: { 4, DT_STRING }, + lang: 0x0407 +}; + +void* usb_get_descriptor(uint8_t dType,uint8_t index,uint16_t *size) +{ + switch (dType) + { + case DT_DEVICE: + *size = usb_device.descriptor->descriptor.bLength; + return &usb_device.descriptor->descriptor; + case DT_CONFIGURATION: + *size = usb_device.descriptor->configurations[index]->size; + return usb_device.descriptor->configurations[index]->descriptor; + case DT_STRING: + *size = usb_device.descriptor->strings[index]->bLength; + return usb_device.descriptor->strings[index]; + default: + *size = 0; + return NULL; + }; +}; + + diff --git a/usb/src/usb_device.c b/usb/src/usb_device.c new file mode 100644 index 0000000..02ec009 --- /dev/null +++ b/usb/src/usb_device.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +#include +#include + + +usb_device_t usb_device; + +void usb_device_attach(void){ + ATOMIC + if (usb_device.state.HWEnabled){ + UDCON &= ~_BV(DETACH); + usb_device.state.Attached = 1; + }; +}; + +void usb_device_detach(void){ + ATOMIC + if (usb_device.state.Attached){ + UDCON |= _BV(DETACH); + usb_device.state = (usb_device_state_t){ HWEnabled: 1 }; + }; +}; + +void usb_device_off(void){ + USBCON &= ~_BV(USBE); + usb_device.state = (usb_device_state_t){ }; +}; + diff --git a/usb/src/usb_device_avr.c b/usb/src/usb_device_avr.c new file mode 100644 index 0000000..63f9e44 --- /dev/null +++ b/usb/src/usb_device_avr.c @@ -0,0 +1,256 @@ +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include + +struct __usb_pllcsr _usb_pllcsr[] = __USB_PLLCSR; + +#ifdef USB_DEBUG_SETUP + +#define USB_DEBUG_SETUP_SIZE 10 + +usb_debug_setup_t *usb_debug_setup; +int *usb_debug_index; +int *usb_debug_size; + +#endif + +int avr_usb_device_configure_pll(void) +{ + struct __usb_pllcsr *pll = _usb_pllcsr; + int n; + + // Disable PLL + PLLCSR = 0; + wait_ms(5); + + // Configure PLL + /* PLL */ + while ((pll)->fcpu) + { + if (pll->fcpu == __freq_cpu) + { + +#ifdef __USB_PLLFRQ + PLLFRQ = __USB_PLLFRQ; +#endif + + PLLCSR = pll->pllcsr; + + break; + }; + + pll++; + }; + if (!pll->fcpu) + return -EPARAM; + + // Enable PLL + PLLCSR |= _BV(PLLE); + + for (n=0;n<100;n++){ + if (PLLCSR & _BV(PLOCK)){ + break; + }; + wait_ms(1); + }; + + if (!(PLLCSR & _BV(PLOCK))){ + return -ETIMEOUT; + }; + + return ESUCCESS; +}; + + + + +int usb_device_on(usb_device_setup_t *ddesc) +{ + ATOMIC + + usb_ll_disable_all_irq(); + usb_device_off(); + + usb_device.descriptor = ddesc; + usb_device.ep0desc = (usb_standard_endpoint_descriptor_t){ + bEndpointAddress: 0x00, + bmAttributes: 0, + wMaxPacketSize: ddesc->descriptor.bMaxPacketSize0 + }; + + /* Start USB Hardware */ + +// UHWCON = 0; +// UDADDR = 0; +// UDCON = _BV(DETACH); + + usb_device_freeze_clock(); + + usb_device_enable_padreg(); + usb_device_disable_vbuspad(); + usb_device_enable_vbuspad(); + + USBCON |= _BV(USBE); + + assert(avr_usb_device_configure_pll()); + + usb_device_unfreeze_clock(); + usb_device_mode(); + + usb_ll_setup_configuration( -1 ); + + usb_ll_enable_irq( USB_IRQ_ENDOFRESET ); + + usb_ll_disable_irq( USB_IRQ_SUSPEND ); + usb_ll_disable_irq( USB_IRQ_WAKEUP ); + +#ifdef USB_DEBUG_SETUP + + if (!usb_debug_setup){ + usb_debug_setup = (void*)__malloc_heap_end; + usb_debug_setup -= (USB_DEBUG_SETUP_SIZE + 1); + usb_debug_index = (void*)usb_debug_setup; + usb_debug_index --; + usb_debug_size = (void*)usb_debug_index; + usb_debug_size --; + __malloc_heap_end = (void*)usb_debug_size; + + *usb_debug_size = USB_DEBUG_SETUP_SIZE; + + if (*usb_debug_index >= *usb_debug_size) + *usb_debug_index = 0; + if (*usb_debug_index < 0) + *usb_debug_index = 0; + }; + +#endif + + usb_device.state = (usb_device_state_t){ HWEnabled: 1 }; + + return ESUCCESS; +}; + +int usb_device_wait_vbus(void){ + while (!(USBSTA & _BV(VBUS))) { + wait_ms(1); + }; + return ESUCCESS; +}; + +int usb_device_check_attachment(void){ + if (USBCON & _BV(USBE)){ + if ( (USBSTA & _BV(VBUS)) && (UDCON & _BV(DETACH)) ){ + usb_device_attach(); + }; + if ( !(USBSTA & _BV(VBUS)) && !(UDCON & _BV(DETACH)) ){ + usb_device_detach(); + }; + }; + return 0; +}; + +void avr_usb_device_vbusti(void) { + if (USBCON & _BV(USBE)){ + usb_ll_clear_irq( USB_IRQ_VBUST ); + + if (usb_device_bus_is_connected()) { + event_push(EV_SYS_USBCONNECT,0,0,NULL); + } else { + event_push(EV_SYS_USBDISCONNECT,0,0,NULL); + }; + }; +}; + + +VECT(USB_GEN_vect) +{ + inline void __restore_epnum(uint8_t *epnum) { UENUM = *epnum; }; + uint8_t __epnum __attribute__((__cleanup__(__restore_epnum))) = UENUM; + + if ((UDIEN & _BV(EORSTE)) && (UDINT & _BV(EORSTI))) + { + usb_ll_setup_configuration( -1 ); + usb_ll_endpoint_enable( &(usb_device.ep0desc) ); + + usb_ll_clear_irq( USB_IRQ_ENDOFRESET ); + + usb_device.state.Default = 1; + usb_device.state.Address = 0; + usb_device.state.Configured = 0; + usb_device.state.Suspended = 0; + +/* usb_ll_clear_irq( USB_IRQ_SUSPEND ); + usb_ll_disable_irq( USB_IRQ_SUSPEND ); + usb_ll_enable_irq( USB_IRQ_WAKEUP ); +*/ + }; + +/* if ((UDIEN & _BV(SUSPE)) && (UDINT & _BV(SUSPI))) + { + usb_ll_clear_irq( USB_IRQ_SUSPEND ); + + usb_ll_disable_irq( USB_IRQ_SUSPEND ); + usb_ll_enable_irq( USB_IRQ_WAKEUP ); + + usb_device_freeze_clock(); + }; + + if ((UDIEN & _BV(WAKEUPE)) && (UDINT & _BV(WAKEUPI))) + { + usb_device_unfreeze_clock(); + + usb_ll_clear_irq( USB_IRQ_WAKEUP ); + + usb_ll_disable_irq( USB_IRQ_WAKEUP ); + usb_ll_enable_irq( USB_IRQ_SUSPEND ); + + }; +*/ +}; + + +VECT(USB_COM_vect) +{ + uint8_t nEP; + inline void __restore_epnum(uint8_t *epnum) { UENUM = *epnum; }; + uint8_t __epnum __attribute__((__cleanup__(__restore_epnum))) = UENUM; + + for (nEP = 0; nEP < 0x07; nEP++) + { + if (UEINT & _BV(nEP)) + { + + usb_ll_endpoint_select( nEP ); + + if ( (UEIENX & _BV(RXSTPE)) && (UEINTX & _BV(RXSTPI))){ + usb_irq_endpoint_setup( nEP ); + }; + + if ( (UEIENX & _BV(RXOUTE)) && (UEINTX & _BV(RXOUTI)) ){ + usb_irq_endpoint_rxout( nEP ); + }; + + if ( (UEIENX & _BV(TXINE)) && (UEINTX & _BV(TXINI)) ){ + usb_irq_endpoint_txin( nEP ); + }; + + if ( (UEIENX & _BV(NAKINE)) && (UEINTX & _BV(NAKINI)) ){ + usb_irq_endpoint_nakin( nEP ); + }; + + }; + }; + +}; + diff --git a/usb/src/usb_device_configure.c b/usb/src/usb_device_configure.c new file mode 100644 index 0000000..c8ebb13 --- /dev/null +++ b/usb/src/usb_device_configure.c @@ -0,0 +1,41 @@ +#include +#include +#include +#include + +#include + +#include +#include + +void usb_ll_setup_configuration(int nConfiguration){ + int nEP; + + // Disable All Endpoints except #0 + for (nEP = 1; nEP < MAX_ENDPOINTS; nEP++){ + usb_ll_endpoint_disable( nEP ); + }; + + usb_device.current_configuration = nConfiguration; + usb_device.endpoints[0].buffer = NULL; + + if (nConfiguration >= 0){ + int n = 0; + device_configuration_t *config = usb_device.descriptor->configurations[usb_device.current_configuration]; + uint8_t *ptr = (uint8_t*)config->descriptor; + + if (config && ptr){ + while (n < config->size){ + if ( ((usb_descriptor_header_t*)&ptr[n])->bDescriptorType == DT_ENDPOINT ){ + usb_ll_endpoint_enable( (usb_standard_endpoint_descriptor_t*)&ptr[n] ); + }; + n += ((usb_descriptor_header_t*)&ptr[n])->bLength; + }; + }; + + usb_device.state.Configured = 1; + } else { + usb_device.state.Configured = 0; + }; +}; + diff --git a/usb/src/usb_endpoint.c b/usb/src/usb_endpoint.c new file mode 100644 index 0000000..8ae036a --- /dev/null +++ b/usb/src/usb_endpoint.c @@ -0,0 +1,85 @@ +#include +#include + +#include +#include + +#include + +int usb_endpoint_set_buffer (int endpoint,void *buffer,int size){ + ATOMIC + uint8_t cfg0x; + + usb_device.endpoints[ endpoint ].buffer = buffer; + usb_device.endpoints[ endpoint ].blen = size; + usb_device.endpoints[ endpoint ].bpos = 0; + + usb_ll_endpoint_select( endpoint ); + + cfg0x = UECFG0X; + + if ((cfg0x & 0xC0) == 0){ // CONTROL-EP + + if ((usb_device.endpoints[ endpoint ].request->bmRequestType & 0x80 )) { + usb_ll_enable_irq( USB_IRQ_TXIN ); + usb_ll_enable_irq( USB_IRQ_RXOUT ); + } else { + if (usb_device._addr_setup){ + usb_ll_enable_irq( USB_IRQ_TXIN ); + } else { + usb_ll_enable_irq( USB_IRQ_RXOUT ); + usb_ll_clear_irq( USB_IRQ_NAKIN ); + usb_ll_enable_irq( USB_IRQ_NAKIN ); + }; + }; + + + } else if (cfg0x & _BV(0)){ + usb_ll_enable_irq( USB_IRQ_TXIN ); + } else { + usb_ll_enable_irq( USB_IRQ_RXOUT ); + }; + + return ESUCCESS; +}; + +int usb_endpoint_unset_buffer (int endpoint){ + ATOMIC + int l = usb_device.endpoints[ endpoint ].bpos; + + usb_device.endpoints[ endpoint ].buffer = NULL; + usb_device.endpoints[ endpoint ].blen = 0; + usb_device.endpoints[ endpoint ].bpos = 0; + + usb_ll_endpoint_select( endpoint ); + + usb_ll_disable_irq( USB_IRQ_RXOUT ); + usb_ll_disable_irq( USB_IRQ_TXIN ); + + return l; +}; + +int usb_endpoint_check_buffer (int endpoint){ + ATOMIC + + if (!usb_device.endpoints[ endpoint ].buffer){ + return -ENULLPTR; + }; + return usb_device.endpoints[ endpoint ].blen - usb_device.endpoints[ endpoint ].bpos; +}; + +int usb_endpoint_write(int endpoint,void *buffer,int len){ + usb_endpoint_set_buffer( endpoint, buffer, len ); + while (usb_endpoint_check_buffer( endpoint ) > 0){ + wait_ms(1); + }; + return usb_endpoint_unset_buffer( endpoint ); +}; + +int usb_endpoint_read(int endpoint,void *buffer,int len){ + usb_endpoint_set_buffer( endpoint, buffer, len ); + while (usb_endpoint_check_buffer( endpoint ) > 0){ + wait_ms(1); + }; + return usb_endpoint_unset_buffer( endpoint ); +}; \ No newline at end of file diff --git a/usb/src/usb_endpoint_stream.c b/usb/src/usb_endpoint_stream.c new file mode 100644 index 0000000..5652178 --- /dev/null +++ b/usb/src/usb_endpoint_stream.c @@ -0,0 +1,135 @@ +#include +#include +#include + +#include +#include + +#include +#include + +/* +struct usb_io_stream_info +{ + uint8_t configuration; + uint8_t rx, + tx; + uint8_t options; +}; + +int usb_endpoint_put(char ch,FILE *stream) +{ + int result; + struct usb_io_stream_info *si = fdev_get_udata(stream); + if (!si) + return _FDEV_ERR; + + if (si->configuration != usb_device.current_configuration) { + return _FDEV_ERR; + }; + + if (si->tx == -1) + return _FDEV_ERR; + + { + ATOMIC + + result = pipe_put( ch, usb_device.endpoints[ si->tx ].pipe ); + if (result != -1) + { + avr_usb_endpoint_select( si->tx ); + usb_device_enable_irq( USB_IRQ_TXIN ); + }; + }; + return result; +}; + +int usb_endpoint_get(FILE *stream) +{ + int ch; + struct usb_io_stream_info *si = fdev_get_udata(stream); + + if (!si) + return _FDEV_ERR; + + if (si->configuration != usb_device.current_configuration) { + return _FDEV_ERR; + }; + + if (si->rx == -1) + return _FDEV_ERR; + + { + ATOMIC + + ch = pipe_get(usb_device.endpoints[si->rx].pipe); + if (ch >= 0) + { + avr_usb_endpoint_select( si->rx ); + usb_device_enable_irq( USB_IRQ_RXOUT ); + }; + + }; + return ch; +}; + +FILE* usb_endpoint_stream(uint8_t rx,uint8_t tx) +{ + return usb_endpoint_stream_ex(rx,tx,1,0); +}; + +FILE* usb_endpoint_stream_ex(uint8_t rx,uint8_t tx,uint8_t configuration,uint8_t options) +{ + struct usb_io_stream_info *stream_info = malloc( sizeof( struct usb_io_stream_info ) ); + FILE* stream; + + if (stream_info) + { + stream_info->configuration = configuration; + stream_info->rx = rx; + stream_info->tx = tx; + stream_info->options = 0; + + stream = fdevopen(usb_endpoint_put,usb_endpoint_get); + if (stream) + { + fdev_set_udata( stream, stream_info ); + usb_endpoint_stream_options( stream, options ); + return stream; + }; + free( stream_info ); + }; + return NULL; +}; + +int usb_endpoint_stream_options(FILE* stream,uint8_t options) +{ + struct usb_io_stream_info *sinfo = (struct usb_io_stream_info*)fdev_get_udata(stream); + +#if 1 + + if (sinfo->rx != -1) + { + if (options & IO_BLOCK_RD) + pipe_options( usb_device.endpoints[ sinfo->rx ].pipe, IO_BLOCK_RD ); + else + pipe_options( usb_device.endpoints[ sinfo->rx ].pipe, 0 ); + }; + if (sinfo->tx != -1) + { + if (options & IO_BLOCK_WR) + pipe_options( usb_device.endpoints[ sinfo->tx ].pipe, IO_BLOCK_WR ); + else + pipe_options( usb_device.endpoints[ sinfo->tx ].pipe, 0 ); + }; + +#else + + sinfo->options = options; + +#endif + + return 0; +}; +*/ + diff --git a/usb/src/usb_ll.c b/usb/src/usb_ll.c new file mode 100644 index 0000000..ee8e484 --- /dev/null +++ b/usb/src/usb_ll.c @@ -0,0 +1,62 @@ +#include + + +void usb_ll_enable_irq (uint16_t irq) +{ + if (irq & USB_IRQ_ID_DEVICE) + UDIEN |= (irq & 0xFF); + else if (irq & USB_IRQ_ID_INTERFACE) + USBCON |= (irq & 0xFF); + else if (irq & USB_IRQ_ID_ENDPOINT) + UEIENX |= (irq & 0xFF); +}; + +void usb_ll_disable_irq (uint16_t irq) +{ + if (irq & USB_IRQ_ID_DEVICE) + UDIEN &= ~(irq & 0xFF); + else if (irq & USB_IRQ_ID_INTERFACE) + USBCON &= ~(irq & 0xFF); + else if (irq & USB_IRQ_ID_ENDPOINT) + UEIENX &= ~(irq & 0xFF); +}; + +void usb_ll_clear_irq (uint16_t irq) +{ + if (irq & USB_IRQ_ID_DEVICE) + UDINT &= ~(irq & 0xFF); + else if (irq & USB_IRQ_ID_INTERFACE) + USBINT &= ~(irq & 0xFF); + else if (irq & USB_IRQ_ID_ENDPOINT) + UEINTX &= ~(irq & 0xFF); +}; + + +void usb_ll_disable_all_irq (void) +{ + usb_ll_disable_irq( USB_IRQ_STARTOFFRAME ); + usb_ll_disable_irq( USB_IRQ_ENDOFRESET ); + usb_ll_disable_irq( USB_IRQ_ENDOFRESUME ); + usb_ll_disable_irq( USB_IRQ_UPSTREAMRESUME ); + usb_ll_disable_irq( USB_IRQ_WAKEUP ); + usb_ll_disable_irq( USB_IRQ_SUSPEND ); + usb_ll_disable_irq( USB_IRQ_VBUST ); + usb_ll_disable_irq( USB_IRQ_SETUP ); + usb_ll_disable_irq( USB_IRQ_FLOWERR ); + usb_ll_disable_irq( USB_IRQ_NAKIN ); + usb_ll_disable_irq( USB_IRQ_NAKOUT ); + usb_ll_disable_irq( USB_IRQ_RXOUT ); + usb_ll_disable_irq( USB_IRQ_STALLED ); + usb_ll_disable_irq( USB_IRQ_TXIN ); +}; + +void usb_ll_disable_all_endpoint_irq (void) +{ + usb_ll_disable_irq( USB_IRQ_SETUP ); + usb_ll_disable_irq( USB_IRQ_FLOWERR ); + usb_ll_disable_irq( USB_IRQ_NAKIN ); + usb_ll_disable_irq( USB_IRQ_NAKOUT ); + usb_ll_disable_irq( USB_IRQ_RXOUT ); + usb_ll_disable_irq( USB_IRQ_STALLED ); + usb_ll_disable_irq( USB_IRQ_TXIN ); +}; diff --git a/usb/src/usb_ll_endpoint.c b/usb/src/usb_ll_endpoint.c new file mode 100644 index 0000000..7225c81 --- /dev/null +++ b/usb/src/usb_ll_endpoint.c @@ -0,0 +1,271 @@ +#include +#include + +#include + +int avr_usb_ep_size[] = { + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 0 +}; + +int usb_ll_ep_find_size_index(int minSize){ + int n; + for (n=0;n<7;n++){ + if (avr_usb_ep_size[n] >= minSize){ + return n; + }; + }; + // In Case no useful size available, we try a fall back of 32bytes + return 0x02; +}; + +/** + * @brief select endpoint to be handled by the usb_ll_endpoint_X functions + * @param endpoint Number of endpoint + * @return 0 on Success + */ +int usb_ll_endpoint_select(uint8_t endpoint){ + UENUM = endpoint; + return 0; +}; + +/** + * @brief read up to bytes from endpoint fifo + * usb_ll_endpoint_select(..) must have been called before + * @param buffer Pointer to buffer to write data to + * @param len maximum buffer size + * @return number of bytes that have been read from hardware + */ +int usb_ll_endpoint_read(uint8_t *buffer,int len){ + int p = 0; + + while (UEBCX && (p < len)){ + buffer[p++] = UEDATX; + }; + + return p; +}; + +/** + * @brief write up to bytes to endpoint fifo + * usb_ll_endpoint_select(..) must have been called before + * @param buffer Pointer to buffer to read data from + * @param len buffer size + * @return number of bytes that have been written to hardware + */ +int usb_ll_endpoint_write(uint8_t *buffer,int len){ + int p = 0; + int epsize = avr_usb_ep_size[ (UECFG1X>>EPSIZE0)&0x07 ]; + + while ((p < len) && (UEBCX < epsize) ){ + UEDATX = buffer[p++]; + }; + + return p; +}; + + + + + +void usb_irq_endpoint_txin(uint8_t endpoint) +{ + uint8_t ep_type; + usb_ll_endpoint_select( endpoint ); + ep_type = (UECFG0X >> EPTYPE0) & 0x03; + + if ( (endpoint == 0) && (usb_device._addr_setup)){ + if (usb_device.endpoints[ endpoint ].buffer){ + usb_device.endpoints[ endpoint ].buffer = NULL; + } else { + //UDADDR = usb_device._addr_setup; + UDADDR |= _BV(ADDEN); + usb_device._addr_setup = 0; + usb_device.state.Address = 1; + }; + + } else if (usb_device.endpoints[ endpoint ].buffer){ + int nSend = usb_device.endpoints[ endpoint ].blen - usb_device.endpoints[ endpoint ].bpos; + + int nSent = usb_ll_endpoint_write( + &(usb_device.endpoints[ endpoint ].buffer[ usb_device.endpoints[ endpoint ].bpos ]), + nSend); + + usb_device.endpoints[ endpoint ].bpos += nSent; + } else { + if (ep_type == USB_EP_CONTROL){ + usb_ll_clear_irq( USB_IRQ_TXIN ); + usb_ll_disable_irq( USB_IRQ_TXIN ); + usb_ll_disable_irq( USB_IRQ_RXOUT ); + } else { + usb_ll_disable_irq( USB_IRQ_TXIN ); + }; + return; + }; + + switch (ep_type){ + case USB_EP_CONTROL: + usb_ll_clear_irq( USB_IRQ_TXIN ); + break; + case USB_EP_INTERRUPT: + case USB_EP_BULK: + case USB_EP_ISOCHRONOUS: + if (UEBCX){ + usb_ll_clear_irq( USB_IRQ_TXIN ); + UEINTX &= ~_BV(FIFOCON); + } else { + usb_ll_disable_irq( USB_IRQ_TXIN ); + }; + break; + }; +}; + +void usb_irq_endpoint_rxout(uint8_t endpoint) +{ + uint8_t ep_type; + usb_ll_endpoint_select( endpoint ); + ep_type = (UECFG0X >> EPTYPE0) & 0x03; + + if ((ep_type == USB_EP_CONTROL)&&((usb_device.endpoints[ endpoint ].request->bmRequestType & 0x80)) ){ + + usb_device.endpoints[ endpoint ].buffer = NULL; + + } else if (usb_device.endpoints[ endpoint ].buffer){ + int nToRead = usb_device.endpoints[ endpoint ].blen - usb_device.endpoints[ endpoint ].bpos; + + int nRead = usb_ll_endpoint_read( + &(usb_device.endpoints[ endpoint ].buffer[ usb_device.endpoints[ endpoint ].bpos ]), + nToRead); + + usb_device.endpoints[ endpoint ].bpos += nRead; + } else { + usb_ll_disable_irq( USB_IRQ_RXOUT ); + return; + }; + + switch (ep_type){ + case USB_EP_CONTROL: + usb_ll_clear_irq( USB_IRQ_RXOUT ); + break; + case USB_EP_INTERRUPT: + case USB_EP_BULK: + case USB_EP_ISOCHRONOUS: + if (!UEBCX){ + usb_ll_clear_irq( USB_IRQ_RXOUT ); + UEINTX &= ~_BV(FIFOCON); + } else { + usb_ll_disable_irq( USB_IRQ_RXOUT ); + }; + break; + }; +}; + +void usb_irq_endpoint_nakin(uint8_t endpoint){ + uint8_t ep_type; + usb_ll_endpoint_select( endpoint ); + ep_type = (UECFG0X >> EPTYPE0) & 0x03; + + if (ep_type == USB_EP_CONTROL){ + if (!(usb_device.endpoints[ endpoint ].request->bmRequestType & 0x80 )) { + usb_ll_clear_irq( USB_IRQ_TXIN ); + usb_ll_disable_irq( USB_IRQ_RXOUT ); + }; + }; + usb_ll_clear_irq( USB_IRQ_NAKIN ); +}; + +void usb_irq_endpoint_setup (uint8_t endpoint){ + usb_ll_endpoint_t* ep = &(usb_device.endpoints[endpoint]); + int n; + + if (ep && ep->request){ + n = usb_ll_endpoint_read( (uint8_t*)ep->request, sizeof( usb_device_request_t ) ); + + if (n == sizeof( usb_device_request_t )){ + + if (usb_ll_setup_request( endpoint, ep->request ) < 0){ + avr_usb_endpoint_stall_request(); + }; + }; + }; + + usb_ll_clear_irq( USB_IRQ_SETUP ); +}; + + + + + + + +void usb_ll_endpoint_disable(int endpoint){ + if (endpoint >= MAX_ENDPOINTS) + return; + + usb_ll_endpoint_select(endpoint); + + UEIENX = 0; + + UECONX &= ~_BV(EPEN); + UECFG0X = 0x00; + UECFG1X = 0x00; + + if (usb_device.endpoints[endpoint].request){ + usb_ll_disable_irq( USB_IRQ_SETUP ); + free(usb_device.endpoints[endpoint].request); + }; + + usb_device.endpoints[endpoint].cb_setup = NULL; + + usb_endpoint_unset_buffer( endpoint ); + usb_device.endpoints[endpoint].desc = NULL; +}; + +void usb_ll_endpoint_enable (struct usb_standard_endpoint_descriptor* descriptor){ + int nEP; + + if (!descriptor) + return; + + nEP = descriptor->bEndpointAddress & 0x07; + + if (nEP > MAX_ENDPOINTS) + return; + + usb_ll_endpoint_select(nEP); + + UECONX &= ~_BV(EPEN); + UECONX |= _BV(EPEN); + + UERST |= _BV(nEP); + UERST &= ~_BV(nEP); + + UEIENX = 0; + + usb_device.endpoints[nEP].desc = descriptor; + + UECFG0X = ((descriptor->bEndpointAddress & 0x80) ? 0x01 : 0x00) | + ((descriptor->bmAttributes & 0x03) << EPTYPE0); + + UECFG1X = (usb_ll_ep_find_size_index( descriptor->wMaxPacketSize ) << 4); + UECFG1X |= _BV(ALLOC); + + if ((UECFG0X & (_BV(EPTYPE1)|_BV(EPTYPE0))) == 0){ + usb_device.endpoints[nEP].request = malloc( sizeof(usb_device_request_t ) ); + usb_ll_enable_irq( USB_IRQ_SETUP ); + } else { + + }; + + if (UESTA0X & _BV(CFGOK)){ + return; + } else { + return; + }; +}; diff --git a/usb/src/usb_ll_setup.c b/usb/src/usb_ll_setup.c new file mode 100644 index 0000000..482d36a --- /dev/null +++ b/usb/src/usb_ll_setup.c @@ -0,0 +1,90 @@ +#include +#include +#include + +#include + +#include +#include + +uint16_t zero16; +uint32_t temp32; + +int usb_ll_setup_standard_request(int endpoint,usb_device_request_t *request); + + +int usb_ll_setup_request(int endpoint,usb_device_request_t *request){ + device_configuration_t *config = usb_device.current_configuration >= 0 ? usb_device.descriptor->configurations[usb_device.current_configuration] : NULL; + +#ifdef USB_DEBUG_SETUP + + usb_debug_setup[ *usb_debug_index ].request = *request; + usb_debug_setup[ *usb_debug_index ].cfg0x = UECFG0X; + usb_debug_setup[ *usb_debug_index ].cfg1x = UECFG1X; + usb_debug_setup[ *usb_debug_index ].sta0x = UESTA0X; + usb_debug_setup[ *usb_debug_index ].sta1x = UESTA1X; + usb_debug_setup[ *usb_debug_index ].intx = UEINTX; + usb_debug_setup[ *usb_debug_index ].ienx = UEIENX; + + (*usb_debug_index)++; + if (*usb_debug_index >= *usb_debug_size){ + *usb_debug_index = 0; + }; + +#endif + + switch ((request->bmRequestType >> 5) & 0x03){ + case 0x01: + if (config && config->setup_handler[endpoint]){ + return config->setup_handler[endpoint]( endpoint, request ); + }; + default: + return usb_ll_setup_standard_request( endpoint, request ); + }; +}; + + + +int usb_ll_setup_standard_request(int endpoint,usb_device_request_t *request){ + void *ptr; + uint16_t size; + + switch (request->bRequest){ + case USB_REQ_GET_STATUS: + usb_endpoint_set_buffer( endpoint, &zero16, 2 ); + return 0; + + case USB_REQ_SET_ADDRESS: + usb_device._addr_setup = (request->wValue & 0x7F); + UDADDR = (request->wValue & 0x7F); + usb_endpoint_set_buffer( endpoint, &zero16, 0 ); + return 0; + + case USB_REQ_GET_DESCRIPTOR: + ptr = usb_get_descriptor( (request->wValue >> 8), request->wValue & 0xff, &size); + if (ptr) { + int len = size > request->wLength ? request->wLength : size; + usb_endpoint_set_buffer( endpoint, ptr, len ); + return 0; + }; + break; + case USB_REQ_GET_CONFIGURATION: + temp32 = usb_device.current_configuration + 1; + usb_endpoint_set_buffer( endpoint, &temp32, 1 ); + return 0; + case USB_REQ_SET_CONFIGURATION: + usb_ll_setup_configuration( (request->wValue & 0xff) - 1 ); + usb_endpoint_set_buffer( endpoint, &zero16, 0 ); + return 0; + + case USB_REQ_GET_INTERFACE: + case USB_REQ_SET_INTERFACE: + case USB_REQ_SYNCH_FRAME: + break; + default: + break; + }; + return -1; +}; + +

Dl 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/hf3_values.o.dep b/cpu/atmega1284/build/hf3_values.o.dep new file mode 100644 index 0000000..da828d6 --- /dev/null +++ b/cpu/atmega1284/build/hf3_values.o.dep @@ -0,0 +1,56 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/hf3_values.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/flexsource/src/hf3_values.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/hf3.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/flexsource.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/motor.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/axinterface.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/controller.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/motor.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/panel.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/achse.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/achse.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/bits.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/axinterface.h diff --git a/cpu/atmega1284/build/i2c.o b/cpu/atmega1284/build/i2c.o new file mode 100644 index 0000000000000000000000000000000000000000..6df2367e87e9b8a5120020b55c8c01918f89c127 GIT binary patch literal 16104 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/i2cee_define_file.o.dep b/cpu/atmega1284/build/i2cee_define_file.o.dep new file mode 100644 index 0000000..83f7403 --- /dev/null +++ b/cpu/atmega1284/build/i2cee_define_file.o.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_define_file.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_define_file.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/fastfile.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/cpu/atmega1284/build/i2cee_identify.o b/cpu/atmega1284/build/i2cee_identify.o new file mode 100644 index 0000000000000000000000000000000000000000..5ef909539776230d82a2a9ed8675b19234889347 GIT binary patch literal 13640 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 Zqi@<9gPXA|3YYrC6ukFBW?#0w{{^;~Xg~k} literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/i2cee_identify.o.dep b/cpu/atmega1284/build/i2cee_identify.o.dep new file mode 100644 index 0000000..e70c1f5 --- /dev/null +++ b/cpu/atmega1284/build/i2cee_identify.o.dep @@ -0,0 +1,40 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_identify.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_identify.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/i2c.h diff --git a/cpu/atmega1284/build/i2cee_load.o b/cpu/atmega1284/build/i2cee_load.o new file mode 100644 index 0000000000000000000000000000000000000000..3d5aaffbd1387839d6a0157efc1bc5fac973a16a GIT binary patch literal 12540 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 SWb3&?%@dg4dkJy{_WlQ!kLU^j literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/i2cee_size.o.dep b/cpu/atmega1284/build/i2cee_size.o.dep new file mode 100644 index 0000000..0083a6c --- /dev/null +++ b/cpu/atmega1284/build/i2cee_size.o.dep @@ -0,0 +1,37 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/i2cee_size.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/i2cee_size.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/i2ceeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/i2ceeprom.o b/cpu/atmega1284/build/i2ceeprom.o new file mode 100644 index 0000000000000000000000000000000000000000..6f5c6254d265a0c4101231b8f59621b906f376c7 GIT binary patch literal 996 zcmah{!EVz)5S@?$r4k5w;KHHqsi}nRCQyW^0zy%mN=<3i00%CXTzJUY3kS|EzIJ=2c2^eWK@6EiO9gp`%vwc`9mB?C&I<#a&AMX%dqxdoxRA__l zQ|rSgr%|msue_SK=eTm@#!09L^%~>U)fdCD+nw~mWHhOVU)6rqar^yV*KtoZ`JdBd zB8B#kPEVR0e-NrL>0PEt9Q#^D{vdwgivmD-WrNJI#DbNPc?kY?k(fG-vSe2mUk9?%3!pc>RdTcM}mDd(M?ItNv)NPG)7dlG zer1pH;q*(*b;nnX{4zZ~y|THbd1QKYS>ECJb+!7W+;z`MVO*U82;o=UCnf*D6 zMWW2?k~0C!u5trFc?y_A_|aR<9+hg{cBz`xIIAAQe2w6CZ$SfAU_va%u?+0eM)xN7 z_F8~4g|*ce)yL|$*V4%Lx(i$D0i0!EcNN2In5(>Xj>;=|8lO(+H(1PIgfDP?kHPjD z>?&d^*$G7*A*c2D+>g8%-f@W@BRzw>90m;bg2D1SGQy<65(e94us(y4|1IQtGbXe! zgxps|NYG$^6GByeh5S!%x`Y02k?SD9tHCs3gGCG$HCS=38a8i#%)O0GS_D9yK{zEA_a#&6ui4%$*S1hem@zb-l7yS;K>4iJ(3h3IoI<{$NH4QW5D)2)keDFV3Ni&t!>h zRc&^s>pPo_)#}Ma)XN`qN(K|@STqq1c}d}EfcxgyXNSx&my{sR6gqc4@9k)5@$&M# zay%hNbbq>k^IF15IXw_NCYOrk!}B>RX>lN?#QCY2p^ zXp-|-nI@GVcWRRBM7bs{8g*&X;**Os$$e_ECRLnvYf|Nz3QdyUsMI9SSxJ+s#ypx- zovYHMntZh;)n2O6q$O|HZmn$4qy|vZFUK?f0Lo0NDEkFUg>}D@2_MOT67pyKpajxs zP`EV|#>Mr;5|JeOIQ9nusqi78VJppv#NJFq!*fULu|!zJ<10Z4CgbriHiq>Tk(57< zEw_N^5D0R>{TYEt+UMMGq}#1-)Et1<9&9OD@6XgA-fYnyM%-r68xe1^=t>C_xIeQI zpR+a1uZMr{OC#*SF9D0rZxV}6)yPtU`uLvO9@Do8_>RZS)cu5icgj}>z4$>LieDoHZlFT&@je7 zI{=RmHkX3-i{jr$x!T0fqTFC&yf>lU#B{gOdQtpJl-(x2jB>AuQNRHcuR}>aN%7Pt zNy26gBZSTE88b1>ozKPGMjTd(AGhE-!ZbM~x)(%FZuk!mFO5Owzb7bLk*#-$=ufJd zZku*wqBGcjYf#b|pcwMedap8daeCH@1ZXD`YBOT$;D3vw{{t}wAyB^a1WXdX7Syfv z-N58uqmAmLlO*cfidc+62w$QSCt#BB^`b5?xmt0rbc;d21M}jp;Do$r6C~nZM1!@y zQ9Q1+cT^vpTu~qW*N8C);U?z0Nx&rGqyDkxyMjq*{V5-{jL0{Pn8wgv5e=iGTqHrA zAn|EaintTFXp~Ekh`Wde%W$}aaYscEN_sERIb_1^$V4Al=IcS7d{i&BuIK@T;KfF~ mM!+QTE|RzfCAx)i2hd2L17gZog-mN{&DVr|5I~zCk?$|LHX#rI literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/ifact.o.dep b/cpu/atmega1284/build/ifact.o.dep new file mode 100644 index 0000000..86ff7dc --- /dev/null +++ b/cpu/atmega1284/build/ifact.o.dep @@ -0,0 +1,2 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/ifact.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/ifact.c diff --git a/cpu/atmega1284/build/log_csr.o b/cpu/atmega1284/build/log_csr.o new file mode 100644 index 0000000000000000000000000000000000000000..8846f4eea614e9ee76c2a5ba9cdb7d5ff5cce97f GIT binary patch literal 8844 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 Q8ML-0Iu{N&sFA5i_Rr2qf` literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/log_csr.o.dep b/cpu/atmega1284/build/log_csr.o.dep new file mode 100644 index 0000000..22b4d30 --- /dev/null +++ b/cpu/atmega1284/build/log_csr.o.dep @@ -0,0 +1,21 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/log_csr.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/log_csr.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/logcsr.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h diff --git a/cpu/atmega1284/build/m1284_timer0.o b/cpu/atmega1284/build/m1284_timer0.o new file mode 100644 index 0000000000000000000000000000000000000000..dbe1a9eb0f8d47a0e32dd9429f3f65365587480b GIT binary patch literal 7416 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 EKX6eRFaQ7m literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/motordefs.o.dep b/cpu/atmega1284/build/motordefs.o.dep new file mode 100644 index 0000000..e77dd42 --- /dev/null +++ b/cpu/atmega1284/build/motordefs.o.dep @@ -0,0 +1,57 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/motordefs.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/motordefs/src/motordefs.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/utils.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/hf3.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/assert.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/flexsource.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/motor.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/eeprom.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/types/axinterface.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/controller.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/motor.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/panel.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/api/achse.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/events.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/achse.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/bits.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/hf3/include/hf3/axinterface.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/../../hf3.common/motordefs/include/hf3/motordefs.h diff --git a/cpu/atmega1284/build/mutex_lock.o b/cpu/atmega1284/build/mutex_lock.o new file mode 100644 index 0000000000000000000000000000000000000000..c937c311387263ac873911c3b83ed0692f4ac34c GIT binary patch literal 9436 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/mutex_lock.o.dep b/cpu/atmega1284/build/mutex_lock.o.dep new file mode 100644 index 0000000..bc9ff36 --- /dev/null +++ b/cpu/atmega1284/build/mutex_lock.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_lock.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_lock.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/mutex_lock_indirect.o b/cpu/atmega1284/build/mutex_lock_indirect.o new file mode 100644 index 0000000000000000000000000000000000000000..dfc4a26a72c78fa07362a063e646f6e6059a6621 GIT binary patch literal 6104 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 Ny@AeXPJcOTwd7+Ddi*=iW23 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 SNUmkQzgA4*803EO{rwkxqjK#4 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/mutex_release.o.dep b/cpu/atmega1284/build/mutex_release.o.dep new file mode 100644 index 0000000..ab477d0 --- /dev/null +++ b/cpu/atmega1284/build/mutex_release.o.dep @@ -0,0 +1,18 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/mutex_release.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/mutex_release.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h diff --git a/cpu/atmega1284/build/mutex_release_indirect.o b/cpu/atmega1284/build/mutex_release_indirect.o new file mode 100644 index 0000000000000000000000000000000000000000..9b3283c73d10ae8acf0eca32f687aa9eb50fac1b GIT binary patch literal 6080 zcmcJTU2Ggz702()+UxbMy|KM^5(f~Ans3FscD`^E^69uqO57w)(?$s}8PAS)r{3M! z%*^JKHXl_{(uyS1ZK~1;QiS;Cg;YF21%ih@q(TS~6-ZSiUYZ9Us)8sVlKG!|&&-Zn zPWe`+1&T8b)4a(*1xrnfuwfF&0mCmp?`rE}3C zNn3kMa_IuNy&=U?QBTEMpLv-YQZWn9Z-OM5N_5;ospP3I0GT_9+tm1p^!HIo=_`?U z;wReWIMUm;)KwC^6E?N=or^Hn!h!c9>7thIAh|2eB;TSb$_45e)rwd*#apyVa7sUd zoR>{C?34|>Ceo=?`W8%N@DpvF*>9kOoK@!nLgpS~9rm6?DF^QCjWE6Fbx2eCFOhfs z3RyR0BC99$^oXeov4Cu+*X~2EYYVu#PF1s9T`#N26jwK}GSsQ>MpowPr&YC^tD~yg z#nlI8RZnwuld7gP(W9q}XW>t;v^h-jzF(88$y9plZ8XS&<=6Oy%Yy3Zqg4Ecaic$Hx^G>c%&6H>HRWjl>Fcw>ZtZ(Q+oN? zsKd(dkgG~*6*0TAnwUpga~s^1Grh7%5791U`)LDuRIhQGd|yA!bcvEolJl$8j;0Tj zb222-$H?XYWw#((I0Hy<)90^8TE~A3OzGsJ>UM?Zq42pDez}F$TKGK8Q|ZpO@I_iz zCB4zYmk4EqCNjxgxFe+Znbb;%nLEiBP0b|J^-1Wolj0)M(9om~hIaE3go~AskkTM! zSE-WHFQZ85`;jjpDWyzKXuaC9Y%Y_?_G*2}9@x~EicDrJ1X!1aB9Yyc*__#%!Br*sXa+jgXYk4;P4sFn?i?IJ|0M-Mv#4iPSGBBy?((Fl z%xcc8yw_>hlcGMWxw9HE-B)emJ+1O}fJ`4pj(A1lodd~RP0ECL0*$(OjB@Rt*=~VH z5dxQ8 z#hP1cR?!QBqUCxvDT`v$_li~5GONWgyIM6p*|lt0#f^ovg<+}e)U9f>WQ+SXF54^m zXZ(*Gzv@gC$s2N7dGvqurf7Or<-Sj|88}rTYR$ktZFqLoHhtT0>Ltgst)O7hj`~3f z&-p@y0wOrmuzetoIo2m|tQl3Y8cmi4rII}jM% zwpn6>(g(=p71EAAI2Sp+9kIn~f$0Up2z&!W8-Y`^MZ@+Sx8ztx&GCKFK*e){GZ@$m zFot7^COqG`-Ux*6oV8KV&?q2n1RfwXKwYevhKmNTRpIWiO;-7`79W7mJ#N2QA6rPPIiMNkuxe#%Lo zG^wo^Ul_w}? z?ne&i$3{l-^7Q0~YV{%b;8(V+C3c7W8K*Hc)hwe{vzl9Q&NhtXhsx#BRDNi`A6vu7 z4O$u6^>u5pDj$-LY=l(pu8M^dO&cD`(4);ofXzD!_wBgR)i=*_{E(?Y!NSK@)|mE8 zOUOmV1vq1uC}`!RV$mtR$1+e{80cZ2FmMt{Q%hfxiR1&!4>D_H> zBzbr40q~YseGPb9tiA!fIaY7Ak?`HQ&mwR6^g(~*=VH`5pn-?52AdH`7Y!?V&sqx?JbRp`+FJ!mfP zz|I2ZEzn=W{5SA2<^w2)na5ybGjkE|IJ=pD2>oNs|A5Wo%&$ORXTA&endwXJDdrB8 z&oUo{%^S>nz~5zl7~{Ui3>1H09)+EI%&$ZKKJzcY9q@zZs6)1p*@ylzX8Iai&%6)v zG3GmvPcp9n)5|{DabV|Z<}1*@#ykN(UtzYO|83@NkpF~v68r`;#mjG*zXzN5m>-AD zzcSNjC4EfNxI3VeW&SzJCCqu0%bDp@WG(YOlv|n0kbjPuVy(_R3_i#F0PKH>`Aw9s zGSiqpU~WMFr_6r>zrpOH?{AoY1b&Gb@Q=0+3JOQV$?HKBD|4Mjf(B6@M^e=$W zzW^Ne0gCgmSI2&bDQu(XVBFppVUO0I>`};s_AY>_&oF+J{)|PRp+-*BM!)B{4E2s6 zPRUl7LcNzEAP!R%dP~C!%Fy%+%-gx`a%{fz$P4|W&<$gNRIkI{w+J|eV^JAf1~H2N dN6~Wu|8tQ)vWG2~YZhZf0lh&JLN! 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%0Ad#mWIbSIguR*>Ji9D;3HwxysxD<&zmmt4Za1ZjE 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 WwTDodSo*@H#$cVk4!M^+d;brL)*`6@ literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/pipe.o.dep b/cpu/atmega1284/build/pipe.o.dep new file mode 100644 index 0000000..393e734 --- /dev/null +++ b/cpu/atmega1284/build/pipe.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/pipe_clear.o b/cpu/atmega1284/build/pipe_clear.o new file mode 100644 index 0000000000000000000000000000000000000000..64dc51c8fafb188ff5bf439048d0a482a458dbfd GIT binary patch literal 6780 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/pipe_clear.o.dep b/cpu/atmega1284/build/pipe_clear.o.dep new file mode 100644 index 0000000..bb923d0 --- /dev/null +++ b/cpu/atmega1284/build/pipe_clear.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_clear.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_clear.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/pipe_empty.o b/cpu/atmega1284/build/pipe_empty.o new file mode 100644 index 0000000000000000000000000000000000000000..99e66c99b723e72e8b069f99406077a498b727df GIT binary patch literal 5000 zcmb`LYit}>702)F!`|`Q>vs~jD%zqz9%OfI$8n8QC#0_9I3!Kt^dX91Iy*bNJ9u_y zJu~aX4N9P;qNpN8jRLg&KoLcvDvu8o_)?(?Bnko~iU3u7K~W?m5S5xw2vs8d&%I}6 z*FmU4$|yVcchCKwbI*OvjB{z}#8FMtM09E5tmxE)m>d@3hiIIUg56?J^oy~S5cr2H zC8hn6aZ3;+-rk9OGSN$wR3hy(Ly=6SsU~mQoHh~jf_4VnlXwL8q}GEwi|&&RY?5)4 z7e6aS84@YWrH{n;IqFndKR+Gg6R!b#U&bw&lKCVvG6yAm>bKO8kqyf7+>@~MB-U}4 z-K5gwE8EhUp8ss5Z_5()%y5kQ_8-IAlXxBX{x@+Opqt1g z^n^b335;$KHK9*m#yz18a&^C|=D0c|t34U69$+!#ddWvV*mHzDfA(I z`R&;87_A69uFwo;l=wJtKZ#GKlab(o&T{CdwS8CtQ7T90}C!+z|r`z1gibZ*!O`w2})79eMt@)SqlA`4t}|V&vx)RHBQoA>EP8TVNk)o+QF|8 z3T;^XP;NAv%nfbFnrsuv+P9W7m$VlIN zKv0ok0c=X3k80U01=Y~nHxTzQhtrWA)sneRYyY^mYl370X&Ea=v9Z-VPTA~0wm(a* zL)*K;4tEq-i~;F93R^}EhV)}(B^cMVl~L+s+ug8~U=d^ZVa;%*g)dv3d72c=`DPA;7-)lJ`YE9X47S}g^>RjOC_%WkXZ3c>jXVZ&Ur{ZhlLv|V^n zK+E&(D3emK8Hm#Dk6AK(tA5)9w?oGjA_yy(pJJV69bB=iU@R6GZz*NBT5SMM48|8a z)|#rAq1SLMFcvl3Y}tV_yG}rEc&CJQ-!?03j%uOlhr$R01F?+IY1pD=`;J#}ETiEB zfoP%PJK-i0FhhiLEYU_Hvol600_SlX1@(Z!FdC+dEn?Jdvt>Yzz)>vnw$@r6JZ&G{ z$xNJP&9K_OZ{zK2ZCY4CC6gV@QADIgDftFAh;KI_3=D)c0^9PM6>-jVLV=L2(1+T$ z1KZ!QCnJ~=uGg&P=lAFr&TDoYp6A>_5u#efvJ3< zR;!frg;PP-WW{OF6wqStpT_Y2%Q`g+t6cl_woR$X6<14xfp?9}sQRWQA|OS!241>OQ#70=%>$02Z*PdQ8Q__Eo1S9y7;QN%+prt0aIq_zqFES;e zz?)tiiVX0_7lByls^`InyXt$u2fOO~V)Z_Q`xt2Qa*9};ndq>!KZU3EQX zf~5Lri)~5zxZARjhH>_^am+BVn*b*itS&7}SUqy`^rMo(M$7Q+n&iiA-{T5pqwya} zRM2P1Dfs3-vfV;`7Fj&U|vQ!&wMZJhnfEl{VMY#;7>DO zMxSfUJ5g>hkE48oc@W#`GV{xb`Az2I@ck|`P_8BA{2j!<#&(*6cbVS;-((&_nS+k> z*HPZZjIUp@kNI_!2bup2`*CL43uWfV5a$B(zfgXW`4!}Og&EHo@eSq|VSkOe7vp+^ z*@osf%rw4h%x|K6hxr10sSnC|4w@d+iSI%=!u%Dqe}MTYcrWu3%30s6V+B=2yUfV*VC1*O=-2{e$`6i1|-u z17!m9Lh1#ZtCdkB(@jAW z#ioE1ZwJN_T~XUU7|8rFZm0~Xc|;-Y)JAhf&+NztC{Cau-DQaI^ewtG_$J;#4tzzr zkE7n*@6KV>5A{n=>8M}%>|$Rk9K?Gk3W9osYs|EV=z17I@)U$G($Q~&%Sg9@^&DXh z6_F0<#B)scr=g=~WOPOSQi<&oUl~l6Jln8P3`$`LKYG(dYX%fMFwheOd`0p818#Ud A6aWAK literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/pipe_empty.o.dep b/cpu/atmega1284/build/pipe_empty.o.dep new file mode 100644 index 0000000..ef4c9f6 --- /dev/null +++ b/cpu/atmega1284/build/pipe_empty.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_empty.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_empty.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/pipe_full.o b/cpu/atmega1284/build/pipe_full.o new file mode 100644 index 0000000000000000000000000000000000000000..82eee9c3786b696c4fe2de7f16e4652b972e0cb3 GIT binary patch literal 5000 zcmb`KYit}>702)F%R63s{a8DW8$nzY+9YImZO3tg(&n z=i$T!HM9i^LVc*^)k;8-3K9xxKM=?lgev$@RX_z4s(t{Wr~-jRQ6oM8YNhZ$_nw*E z6rlb+qF$1vMoyaHjXS(COKpo=;*5d%>b7`y>^L zb>fujxu9d2x38Ws%687v+jQZG*V9g|cjCOs!Ftjm{ZwF z%suV82<|JGUQOslT7~=wEx@4iTA;xXkI+bOQkGMc{7$tG^fQ#4+&=n8DCQ{Lz7E@_ z+W<*!`q&p@)hC_>W)hU5a{HnjG_n->mpb@x2OsU=<7%9weWHV3c@PE_?5iF88lljJ zwD;xjEJnX{F2I&mgCYG0SqVlpZK*(=Y`PhiGAv>QKdc$9l)Oi`zha3J;x)Q!Z|3_2 z9=c$GpH>ciuk5xg(=E^2u4{T_bKNV}EUP?Qnl4RJt?V={H>}v=owTmAQYKIGQQooV z*_InNY`?sC;@HCJa^3Vyw{ouKR;y*-v&!}AZrN@1T+u(@AZ(bcwpVVnDxnK63TU-F zJIbW&Z}_5o<71Xh&#K?>z+vFHLij-i^HZwRtb;3d6^z9K<1MA^RyzdX#9(}ZW38%+ z8MGRX1;(NV8*STHX4mn_4eyko?%8IA%~35dy+9a&Zy=TtI1O90ZO>^{9Ls1pzAxIS zcuue(D2}lf+M$hH%m6jV5+QP$oiPI8JNMcsqzLhhhUsFr7Y7Hygk8`tU zYNA-HRaPd7C;YC-iqoJepvB%jjp6^7b!ryY8+Fj=q_>^6ZB#?oEm^b?uzl1zV-~xn z$*6j!CFBf6sdeoqxmPh5T1Ep>d(FVXp-m#wt(z|FQ8YS6K6a7Ur0r_0cGgzS#&tu+ z{%fscH7YALL!COqY0D!ZSIF_!)JeMj7}(gRM*UoiQ-n0$`g}5F2s*mz9K|Ol&N8I& z2L`rNd|IM;nUy)ITv-xhSHT45lX_Ia8O6&pGs zj?B-`O>D9iN}lbSrHYL`h67t|p-r;6 zvO-;VH{%)KtRY!exK7iK7|}(^YBlJzNAIYvlHN_xl@eF4MNDOqo}XP;l3#d{DG5bC zDhDD1{5OI3ch$Fo4|dhJgZFjS=^MUtUA;!JI=#LNg@A{h~1Mye&To4^_U5g z>Z2{TCF$d?`;-{Q>66ByVPMe#M-`k}I3nTHp<^fSkrXuAhG*9#-)nm0^{|WQoQT~j10p+ilw?O|p z=9f|anfZ0tuQCrI2l^Nw$&rdZz0aNna{xY`^-S`n~0&g!u%5KZ!rHJe2sYv$~^L* zeD*>AE@piFie1bju+w^z=1;KS#Y}r)g_&~y6!S9l4>4=V`3dF?=)cAM4`?niXP|kW zxed)Pm}yK`n72YtYePA_4E{IsJTw{9$sVE{X8sG>-_1OUm^+!jfpV7ld(hm?{4_LG zW;*vi^X-U#AM^bvpJaXozRxg!9{L|LzXg7tc@4flXTAh}h51=%t}xU2`y2CFl>cPD zj52|Fp>Y*Z_A|c#dj>ulecS&Z*A{4zg7hV~8M<{{)JE6M_z|NUdHpXPtv&tQ^-j7e zXrkB@km7B|SfVRx+XVxeKfnzYJg{jV>A6jI`q5m`GduDDilb;qcNro)`8M4$zKJ)J z17DHugQ$1+yA2OP>WBKJr*zb>e0HH8T@K>C9tD9h!c}J4b99|WkgXJiFVfL(oy$lU zVm*ghLq(*cXL2;hWPb=cdPYW9)Gw9TlJS+rAO>N~!$L7Ag+cu2P17B3GX_d?5M5Ec F{{RLnJ?#Jh literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/pipe_full.o.dep b/cpu/atmega1284/build/pipe_full.o.dep new file mode 100644 index 0000000..397b31a --- /dev/null +++ b/cpu/atmega1284/build/pipe_full.o.dep @@ -0,0 +1,19 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/pipe_full.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/pipe_full.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/pipe.h diff --git a/cpu/atmega1284/build/pipe_options.o b/cpu/atmega1284/build/pipe_options.o new file mode 100644 index 0000000000000000000000000000000000000000..79be71e8aad8c922ed4aa514ea42fa0f968fc741 GIT binary patch literal 6824 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 B91Z{g literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_api_rx.o.dep b/cpu/atmega1284/build/rb2_api_rx.o.dep new file mode 100644 index 0000000..a5f950a --- /dev/null +++ b/cpu/atmega1284/build/rb2_api_rx.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_api_rx.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_api_rx.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_clean_pending.o b/cpu/atmega1284/build/rb2_clean_pending.o new file mode 100644 index 0000000000000000000000000000000000000000..c7a925fc700f48f6ce72f369876c80c8f5ca2881 GIT binary patch literal 8932 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 aX@hf2;)~L}!QNN!-wkFUYklaKpZ^AvV~&;p literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_clean_pending.o.dep b/cpu/atmega1284/build/rb2_clean_pending.o.dep new file mode 100644 index 0000000..1e8bf77 --- /dev/null +++ b/cpu/atmega1284/build/rb2_clean_pending.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_clean_pending.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_clean_pending.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_convert.o b/cpu/atmega1284/build/rb2_convert.o new file mode 100644 index 0000000000000000000000000000000000000000..af99243c40964a1923e5652c5d99b53d8bb1182d GIT binary patch literal 13736 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_convert.o.dep b/cpu/atmega1284/build/rb2_convert.o.dep new file mode 100644 index 0000000..4d2a6f0 --- /dev/null +++ b/cpu/atmega1284/build/rb2_convert.o.dep @@ -0,0 +1,42 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_convert.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_convert.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fixpoint.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp1616.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/fp4816.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/ieee.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/fixpoint/pid.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/bits.h diff --git a/cpu/atmega1284/build/rb2_create_usart_link.o b/cpu/atmega1284/build/rb2_create_usart_link.o new file mode 100644 index 0000000000000000000000000000000000000000..02b7a7c4f02fb6954774db4792ccae1613e1ae3c GIT binary patch literal 17328 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 literal 0 HcmV?d00001 diff --git a/cpu/atmega1284/build/rb2_default_register_proc.o.dep b/cpu/atmega1284/build/rb2_default_register_proc.o.dep new file mode 100644 index 0000000..ee75f1c --- /dev/null +++ b/cpu/atmega1284/build/rb2_default_register_proc.o.dep @@ -0,0 +1,36 @@ +/Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284/build/rb2_default_register_proc.o: \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/src/rb2_default_register_proc.c \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/regbus.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/telegram.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/chksum.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/stack.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/cpu/atmega1284p/include/cpu/systick.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/atomic.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/cpu/cpu.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/dbg.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdlib.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/types.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/list.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/register.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/link.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/stdio.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/threads.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/io/usart.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/util.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/errno.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/util/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/proxy.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/instance.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/arch/spinlock.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/trace.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/rb2/api.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/serial.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/hwo/fifo.h \ + /Volumes/HOMES/haraldwolff/src/hf3/avr-fw-sxm/avrmaker/modules/avr/core/include/sys/mutex.h diff --git a/cpu/atmega1284/build/rb2_handle_request.o b/cpu/atmega1284/build/rb2_handle_request.o new file mode 100644 index 0000000000000000000000000000000000000000..2b190177fbd22aee1eb80d4321e6f4c2622e21a5 GIT binary patch literal 12716 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