]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/commitdiff
Added commands for read values from DIN and MOUT ports
authorMichal Horn <hornmich@fel.cvut.cz>
Thu, 30 Aug 2012 13:35:28 +0000 (15:35 +0200)
committerMichal Horn <hornmich@fel.cvut.cz>
Thu, 30 Aug 2012 13:35:28 +0000 (15:35 +0200)
for set values to MOUT port

Note that MOUTx_EN pins are set with pull up resitor!
DIN pins are set with pull down resistor!

65 files changed:
CommandStoring.dil
CommandStoring.hcg
Debug/CmdProcTISCI.map
Debug/CmdProcTISCI.out
Debug/ccsObjs.opt
Debug/makefile
Debug/source/adc.obj
Debug/source/can.obj
Debug/source/ccsSrcs.opt
Debug/source/cmd_io.obj
Debug/source/cmd_io_line.obj
Debug/source/cmd_proc.obj
Debug/source/cmd_proc_freertos_tms570.obj
Debug/source/cmd_proc_run.obj
Debug/source/cmdio_std_line.obj
Debug/source/cmdio_tisci.obj
Debug/source/commands.obj
Debug/source/commands.pp
Debug/source/din.obj [new file with mode: 0644]
Debug/source/din.pp [new file with mode: 0644]
Debug/source/dma.obj
Debug/source/dmm.obj [new file with mode: 0644]
Debug/source/dmm.pp [new file with mode: 0644]
Debug/source/esm.obj
Debug/source/gio.obj [new file with mode: 0644]
Debug/source/gio.pp [new file with mode: 0644]
Debug/source/het.obj [new file with mode: 0644]
Debug/source/het.pp [new file with mode: 0644]
Debug/source/i2str.obj
Debug/source/mibspi.obj [new file with mode: 0644]
Debug/source/mibspi.pp [new file with mode: 0644]
Debug/source/mout.obj [new file with mode: 0644]
Debug/source/mout.pp [new file with mode: 0644]
Debug/source/notification.obj
Debug/source/notification.pp
Debug/source/os_croutine.obj
Debug/source/os_heap.obj
Debug/source/os_list.obj
Debug/source/os_port.obj
Debug/source/os_queue.obj
Debug/source/os_tasks.obj
Debug/source/os_timer.obj
Debug/source/pinmux.obj
Debug/source/sci.obj
Debug/source/subdir_rules.mk
Debug/source/subdir_vars.mk
Debug/source/sys_main.obj
Debug/source/sys_main.pp
Debug/source/sys_phantom.obj
Debug/source/sys_selftest.obj
Debug/source/sys_startup.obj
Debug/source/system.obj
include/din.h [new file with mode: 0644]
include/mout.h [new file with mode: 0644]
source/adc.c
source/commands.c
source/din.c [new file with mode: 0644]
source/gio.c [new file with mode: 0644]
source/het.c [new file with mode: 0644]
source/mibspi.c [new file with mode: 0644]
source/mout.c [new file with mode: 0644]
source/notification.c
source/pinmux.c
source/sci.c
source/sys_main.c

index 4a4284a47fabc5b9cb87f0c0e3b6e0533e43a97d..22788f6b161bb4dfed601608f9013b7790d9aac2 100644 (file)
@@ -1,4 +1,4 @@
-# TMS570LS3137ZWT 08/28/12 09:04:43\r
+# TMS570LS3137ZWT 08/30/12 15:16:52\r
 # \r
 ARCH=TMS570LS3137ZWT\r
 # \r
@@ -166,7 +166,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_TYPE.VALUE=IRQ
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_TYPE.VALUE=IRQ\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.ADC1_ENABLE.VALUE=1\r
-DRIVER.SYSTEM.VAR.MIBSPI_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.MIBSPI_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.ECLK_VCLK1_FREQ.VALUE=80.000\r
 DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ.VALUE=00.0\r
 DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE_VALUE.VALUE=0x0A\r
@@ -292,7 +292,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_PRAGMA_ENABLE.VALUE=1
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_ENABLE.VALUE=0\r
 DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_CPUSELFTEST_ENA.VALUE=0\r
-DRIVER.SYSTEM.VAR.HET1_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.HET1_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.CLKT_RTI1_PRE_SOURCE.VALUE=PLL1\r
 DRIVER.SYSTEM.VAR.FLASH_MODE_VALUE.VALUE=1\r
 DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE_VALUE.VALUE=0x19\r
@@ -373,7 +373,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_TYPE.VALUE=IRQ
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN1_RAMPARITYCHECK_ENA.VALUE=1\r
-DRIVER.SYSTEM.VAR.GIO_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.GIO_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE_VALUE.VALUE=0x17\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_MAPPING.VALUE=94\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_MAPPING.VALUE=86\r
@@ -869,7 +869,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_PRAGMA_ENABLE.VALUE=1
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_RAMPARITYCHECK_ENA.VALUE=0\r
 DRIVER.SYSTEM.VAR.SAFETY_INIT_DMA_DP_PBISTCHECK_ENA.VALUE=0x00000800\r
-DRIVER.SYSTEM.VAR.HET_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.HET_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.PBIST_ALGO_13_14.VALUE=0\r
 DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_BASE.VALUE=0x08001400\r
 DRIVER.SYSTEM.VAR.RAM_STACK_SVC_BASE.VALUE=0x08001000\r
@@ -877,7 +877,7 @@ DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE.VALUE=DEVICE_NONSHAREABLE
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_PRAGMA_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_TYPE.VALUE=IRQ\r
 DRIVER.SYSTEM.VAR.DMM_ENABLE.VALUE=0\r
-DRIVER.SYSTEM.VAR.MIBSPI5_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.MIBSPI5_ENABLE.VALUE=1\r
 DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_0.VALUE=ACTIVE\r
 DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ.VALUE=80.000\r
 DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_1.VALUE=ACTIVE\r
@@ -1437,7 +1437,7 @@ DRIVER.RTI.VAR.RTI_1_COMPARE_0_TIME.VALUE=1.000
 DRIVER.RTI.VAR.RTI_1_NTU_4_FREQ.VALUE=0.0\r
 DRIVER.RTI.VAR.RTI_1_COMPARE_2_INPUT_FREQ.VALUE=10.000000000\r
 DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQUENCY.VALUE=10.000\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULL.VALUE=1\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULL.VALUE=2\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT5_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT7_DOUT.VALUE=0\r
@@ -1455,7 +1455,7 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT3_POL.VALUE=0
 DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT7_ENA.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT3_PSL.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULL.VALUE=1\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULL.VALUE=2\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT7_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT4_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT5_PDR.VALUE=0\r
@@ -1497,20 +1497,20 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT6_DOUT.VALUE=0
 DRIVER.GIO.VAR.GIO_PORT1_BIT1_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT2_ENA.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT2_DIR.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT2_DIR.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT0_PDR.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULL.VALUE=1\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULL.VALUE=2\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT3_DOUT.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT3_ENA.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT7_DOUT.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT3_DIR.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT3_DIR.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT0_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT1_PDR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT0_POL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT4_ENA.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT0_PSL.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT0_PSL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT4_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_BASE_PORTA.VALUE=0xFFF7BC34\r
@@ -1518,11 +1518,11 @@ DRIVER.GIO.VAR.GIO_BASE_PORTB.VALUE=0xFFF7BC54
 DRIVER.GIO.VAR.GIO_PORT1_BIT1_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT2_PDR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT1_POL.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULL.VALUE=1\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULL.VALUE=2\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT4_DOUT.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT5_ENA.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT1_PSL.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT1_PSL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT5_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT2_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULDIS.VALUE=0\r
@@ -1532,7 +1532,7 @@ DRIVER.GIO.VAR.GIO_PORT1_BIT2_POL.VALUE=0
 DRIVER.GIO.VAR.GIO_PORT0_BIT0_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT6_ENA.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT2_PSL.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT6_DIR.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT6_DIR.VALUE=1\r
 DRIVER.GIO.VAR.GIO_BASE.VALUE=0xFFF7BC00\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT3_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT1_ENA.VALUE=0\r
@@ -1545,7 +1545,7 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=1
 DRIVER.GIO.VAR.GIO_PORT1_BIT7_ENA.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULDIS.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT3_PSL.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT7_DIR.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT7_DIR.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT4_LVL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT2_ENA.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT5_PDR.VALUE=0\r
@@ -1553,7 +1553,7 @@ DRIVER.GIO.VAR.GIO_PORT1_BIT4_POL.VALUE=0
 DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT0_DOUT.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT0_PDR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORTB_ENABLE.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT5_LVL.VALUE=0\r
@@ -1565,7 +1565,7 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT3_DIR.VALUE=0
 DRIVER.GIO.VAR.GIO_PORT1_BIT6_DOUT.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT0_LVL.VALUE=0\r
-DRIVER.GIO.VAR.GIO_PORT1_BIT5_PSL.VALUE=0\r
+DRIVER.GIO.VAR.GIO_PORT1_BIT5_PSL.VALUE=1\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT1_PDR.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT0_BIT0_POL.VALUE=0\r
 DRIVER.GIO.VAR.GIO_PORT1_BIT6_LVL.VALUE=0\r
@@ -2327,7 +2327,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PSL.VALUE=1
 DRIVER.MIBSPI.VAR.MIBSPI1_ENABLEHIGHZ.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY1.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=1\r
-DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=1\r
+DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGEVT.VALUE=TRG_ALWAYS\r
 DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY2.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_FUN.VALUE=1\r
@@ -2375,7 +2375,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PSL.VALUE=1
 DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR2.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR3.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=1\r
-DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=1\r
+DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD.VALUE=0\r
 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_FUN.VALUE=1\r
 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DIR.VALUE=0\r
@@ -4860,7 +4860,7 @@ DRIVER.HET.VAR.HET2_BIT4_PULL.VALUE=1
 DRIVER.HET.VAR.HET1_EDGE2_LVL.VALUE=0x00000000\r
 DRIVER.HET.VAR.HET1_PWM2_DUTY_LVL.VALUE=0x00000000\r
 DRIVER.HET.VAR.HET1_PWM2_DUTY_PRESCALER.VALUE=80128\r
-DRIVER.HET.VAR.HET1_BIT9_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT9_DIR.VALUE=0x00000200\r
 DRIVER.HET.VAR.HET2_BIT6_ANDSHARE.VALUE=0x00000000\r
 DRIVER.HET.VAR.HET1_PWM6_DUTY.VALUE=50\r
 DRIVER.HET.VAR.HET1_BIT1_PULDIS.VALUE=0x00000000\r
@@ -4962,7 +4962,7 @@ DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000
 DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=0\r
 DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000\r
 DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000\r
-DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00004000\r
 DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000\r
 DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0\r
 DRIVER.HET.VAR.HET2_PWM4_PERIOD_INTENA.VALUE=0x00000000\r
@@ -5499,12 +5499,12 @@ DRIVER.DMM.VAR.DMM_PORT_BIT8_DIR.VALUE=0
 DRIVER.DMM.VAR.DMM_PORT_BIT7_PULL.VALUE=2\r
 DRIVER.DMM.VAR.DMM_PORT_BIT18_PULL.VALUE=2\r
 DRIVER.DMM.VAR.DMM_PORT_BIT6_PDR.VALUE=0\r
-DRIVER.DMM.VAR.DMM_PORT_BIT10_DIR.VALUE=1\r
+DRIVER.DMM.VAR.DMM_PORT_BIT10_DIR.VALUE=0\r
 DRIVER.DMM.VAR.DMM_PORT_BIT7_FUN.VALUE=1\r
 DRIVER.DMM.VAR.DMM_PORT_BIT5_PULDIS.VALUE=0\r
 DRIVER.DMM.VAR.DMM_PORT_BIT5_PSL.VALUE=1\r
 DRIVER.DMM.VAR.DMM_PORT_BIT1_DOUT.VALUE=0\r
-DRIVER.DMM.VAR.DMM_PORT_BIT9_DIR.VALUE=1\r
+DRIVER.DMM.VAR.DMM_PORT_BIT9_DIR.VALUE=0\r
 DRIVER.DMM.VAR.DMM_PORT_BIT12_DOUT.VALUE=0\r
 DRIVER.DMM.VAR.DMM_PORT_BIT7_PDR.VALUE=0\r
 DRIVER.DMM.VAR.DMM_PORT_BIT11_DIR.VALUE=0\r
@@ -5676,7 +5676,7 @@ DRIVER.PINMUX.VAR.DMA_TTYPE_2.VALUE=FRAME_TRANSFER
 DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_2.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX61_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX53_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX45_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX45_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX37_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX29_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX7_OPTION4.VALUE=0\r
@@ -5769,7 +5769,7 @@ DRIVER.PINMUX.VAR.DMA_FIDXD_28.VALUE=0
 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_24.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_16.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_INTLFSEN_12.VALUE=1\r
-DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX22_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_FIDXD_29.VALUE=0\r
@@ -5840,8 +5840,8 @@ DRIVER.PINMUX.VAR.DMA_CHPR_10_VALUE.VALUE=0x0001
 DRIVER.PINMUX.VAR.DMA_PRITY_1_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.PINMUX11.VALUE="PINMUX_BALL_K17_EMIF_nCS_3 | PINMUX_BALL_M17_EMIF_nCS_4 | PINMUX_BALL_L15_ETMDATA_17 | PINMUX_BALL_P1_HET1_24"\r
 DRIVER.PINMUX.VAR.DMA_PRITY_12.VALUE=FIXED\r
-DRIVER.PINMUX.VAR.PINMUX20.VALUE="PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_F3_MIBSPI1NCS_1 | PINMUX_BALL_C9_EMIF_ADDR_11"\r
-DRIVER.PINMUX.VAR.PINMUX12.VALUE="PINMUX_BALL_A14_HET1_26 | PINMUX_BALL_K15_ETMDATA_16 | PINMUX_BALL_G19_MIBSPI1NENA | PINMUX_BALL_H18_MIBSPI5NENA"\r
+DRIVER.PINMUX.VAR.PINMUX20.VALUE="PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_F3_HET1_17 | PINMUX_BALL_C9_EMIF_ADDR_11"\r
+DRIVER.PINMUX.VAR.PINMUX12.VALUE="PINMUX_BALL_A14_HET1_26 | PINMUX_BALL_K15_ETMDATA_16 | PINMUX_BALL_G19_HET1_23 | PINMUX_BALL_H18_MIBSPI5NENA"\r
 DRIVER.PINMUX.VAR.DMA_PRITY_13.VALUE=FIXED\r
 DRIVER.PINMUX.VAR.PINMUX21.VALUE="PINMUX_BALL_D5_EMIF_ADDR_1 | PINMUX_BALL_C8_EMIF_ADDR_10 | PINMUX_BALL_C7_EMIF_ADDR_9"\r
 DRIVER.PINMUX.VAR.PINMUX13.VALUE="PINMUX_BALL_J18_MIBSPI5SOMI_0 | PINMUX_BALL_J19_MIBSPI5SIMO_0 | PINMUX_BALL_H19_MIBSPI5CLK | PINMUX_BALL_R2_MIBSPI1NCS_0"\r
@@ -5882,7 +5882,7 @@ DRIVER.PINMUX.VAR.MUX98_OPTION0.VALUE=0
 DRIVER.PINMUX.VAR.PINMUX29.VALUE=PINMUX_BALL_D3_SPI2NENA\r
 DRIVER.PINMUX.VAR.MUX98_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_10.VALUE=CHANNEL0\r
-DRIVER.PINMUX.VAR.MUX98_OPTION2.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX98_OPTION2.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX7_CONFLICT.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_11.VALUE=CHANNEL0\r
 DRIVER.PINMUX.VAR.DMA_PRITY_10_VALUE.VALUE=0x0001\r
@@ -5920,13 +5920,13 @@ DRIVER.PINMUX.VAR.MUX91_OPTION0.VALUE=0
 DRIVER.PINMUX.VAR.MUX83_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX75_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX67_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX59_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX59_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_25.VALUE=CHANNEL0\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_17.VALUE=CHANNEL0\r
 DRIVER.PINMUX.VAR.DMA_FIDXS_3.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_AIM_3.VALUE=ENABLED\r
 DRIVER.PINMUX.VAR.DMA_ENABLEREG_3.VALUE=1\r
-DRIVER.PINMUX.VAR.MUX91_OPTION1.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX91_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX83_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX75_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX67_OPTION1.VALUE=0\r
@@ -5972,7 +5972,7 @@ DRIVER.PINMUX.VAR.MUX83_OPTION4.VALUE=0
 DRIVER.PINMUX.VAR.MUX75_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX67_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX59_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX6_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX6_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_29.VALUE=CHANNEL0\r
 DRIVER.PINMUX.VAR.DMA_FIDXS_7.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_AIM_7.VALUE=ENABLED\r
@@ -5989,14 +5989,14 @@ DRIVER.PINMUX.VAR.DMA_FIDXS_9.VALUE=0
 DRIVER.PINMUX.VAR.DMA_AIM_9.VALUE=ENABLED\r
 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_8_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.MUX6_OPTION3.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX60_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX60_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX52_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX44_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX44_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX36_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX28_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX6_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX60_OPTION1.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX52_OPTION1.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX52_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX44_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX36_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX28_OPTION1.VALUE=0\r
@@ -6155,8 +6155,8 @@ DRIVER.PINMUX.VAR.DMA_ADDMR_9.VALUE=CONSTANT
 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_5.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.GATE_EMIF_CLK.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_6.VALUE=8BIT\r
-DRIVER.PINMUX.VAR.MUX97_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX89_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX97_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX89_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_7.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.MUX97_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX89_OPTION1.VALUE=0\r
@@ -6181,7 +6181,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_107_SELECT.VALUE=0
 DRIVER.PINMUX.VAR.DMA_ADDMW_29_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_9_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_TTYPE_2_VALUE.VALUE=0x0001\r
-DRIVER.PINMUX.VAR.MUX90_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX90_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX82_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX74_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX66_OPTION0.VALUE=0\r
@@ -6191,7 +6191,7 @@ DRIVER.PINMUX.VAR.MUX90_OPTION1.VALUE=0
 DRIVER.PINMUX.VAR.MUX82_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX74_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX66_OPTION1.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX58_OPTION1.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX58_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_0.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_ERRACT.VALUE=IGNORE\r
 DRIVER.PINMUX.VAR.MUX90_OPTION2.VALUE=0\r
@@ -6217,7 +6217,7 @@ DRIVER.PINMUX.VAR.MUX82_OPTION4.VALUE=0
 DRIVER.PINMUX.VAR.MUX74_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX66_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX58_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_3.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.MUX5_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_4.VALUE=CONSTANT\r
@@ -6232,8 +6232,8 @@ DRIVER.PINMUX.VAR.DMA_INTFTCEN_1.VALUE=1
 DRIVER.PINMUX.VAR.MUX5_OPTION3.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_6.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_INTFTCEN_2.VALUE=1\r
-DRIVER.PINMUX.VAR.MUX51_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX43_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX51_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX43_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX35_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX27_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX19_OPTION0.VALUE=0\r
@@ -6259,7 +6259,7 @@ DRIVER.PINMUX.VAR.MUX25_CONFLICT.VALUE=0
 DRIVER.PINMUX.VAR.MUX19_OPTION2.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX17_CONFLICT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_99_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_8_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_8_SELECT.VALUE=2\r
 DRIVER.PINMUX.VAR.DMA_ADDMR_27_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_21_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_ADDMR_19_VALUE.VALUE=0x0001\r
@@ -6366,8 +6366,8 @@ DRIVER.PINMUX.VAR.DMA_INTMP_7_VALUE.VALUE=0x0001
 DRIVER.PINMUX.VAR.DMA_CHAS_1.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ACC_3_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_CHAS_2.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX96_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX88_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX96_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX88_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_CHAS_3.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX96_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX88_OPTION1.VALUE=0\r
@@ -6432,9 +6432,9 @@ DRIVER.PINMUX.VAR.DMA_FIDXS_16.VALUE=0
 DRIVER.PINMUX.VAR.DMA_AIM_16.VALUE=ENABLED\r
 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_6.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.MUX81_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX73_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX65_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX57_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX73_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX65_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX57_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX49_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_FIDXS_25.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_AIM_25.VALUE=ENABLED\r
@@ -6504,8 +6504,8 @@ DRIVER.PINMUX.VAR.MUX4_OPTION3.VALUE=0
 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_6.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_BYP_12.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_INTBTCEN_2.VALUE=1\r
-DRIVER.PINMUX.VAR.MUX50_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX42_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX50_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX42_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX34_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX26_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX18_OPTION0.VALUE=0\r
@@ -6564,7 +6564,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_90_SELECT.VALUE=0
 DRIVER.PINMUX.VAR.PIN_MUX_82_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_74_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.PIN_MUX_66_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_58_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_58_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_8_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_INTMP_16_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_INTBTCEN_9.VALUE=1\r
@@ -6623,8 +6623,8 @@ DRIVER.PINMUX.VAR.I2C.VALUE=0
 DRIVER.PINMUX.VAR.MUX104_OPTION3.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX104_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX95_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX87_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX79_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX87_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX79_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX95_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX87_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX79_OPTION1.VALUE=0\r
@@ -6660,17 +6660,17 @@ DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_20.VALUE=0
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_12.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX80_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX72_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX64_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX56_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX64_OPTION0.VALUE=1\r
+DRIVER.PINMUX.VAR.MUX56_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX48_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_21.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_13.VALUE=0\r
-DRIVER.PINMUX.VAR.HET1.VALUE=0\r
+DRIVER.PINMUX.VAR.HET1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX80_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX72_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX64_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX56_OPTION1.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX48_OPTION1.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX48_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_30.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_22.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_14.VALUE=0\r
@@ -6705,7 +6705,7 @@ DRIVER.PINMUX.VAR.MUX72_OPTION4.VALUE=0
 DRIVER.PINMUX.VAR.MUX64_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX56_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX48_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX3_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX3_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_25.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_EIDXD_21.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_17.VALUE=0\r
@@ -6822,7 +6822,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_80_SELECT.VALUE=0
 DRIVER.PINMUX.VAR.PIN_MUX_72_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_64_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_56_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_48_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_48_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_IET_COUNT_31.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMR_27.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_IET_COUNT_23.VALUE=0\r
@@ -6912,7 +6912,7 @@ DRIVER.PINMUX.VAR.OHCI0.VALUE=0
 DRIVER.PINMUX.VAR.MUX103_OPTION2.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_9_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_TRIG_7_VALUE.VALUE=0x0001\r
-DRIVER.PINMUX.VAR.MIBSPI5.VALUE=0\r
+DRIVER.PINMUX.VAR.MIBSPI5.VALUE=1\r
 DRIVER.PINMUX.VAR.DMM.VALUE=0\r
 DRIVER.PINMUX.VAR.W2FC.VALUE=0\r
 DRIVER.PINMUX.VAR.OHCI1.VALUE=0\r
@@ -6954,7 +6954,7 @@ DRIVER.PINMUX.VAR.DMA_EIDXD_2.VALUE=0
 DRIVER.PINMUX.VAR.DMA_CHPR_12.VALUE=HIGH\r
 DRIVER.PINMUX.VAR.MUX71_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX63_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX55_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX55_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX47_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX39_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX9_OPTION4.VALUE=0\r
@@ -7019,7 +7019,7 @@ DRIVER.PINMUX.VAR.DMA_ADDMW_14.VALUE=CONSTANT
 DRIVER.PINMUX.VAR.DMA_EIDXD_8.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_IET_COUNT_4.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_TRIG_10.VALUE=HARDWARE_TRIGGER\r
-DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=1\r
 DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_31.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_31_VALUE.VALUE=0x0001\r
@@ -7040,7 +7040,7 @@ DRIVER.PINMUX.VAR.DMA_ADDMW_16.VALUE=CONSTANT
 DRIVER.PINMUX.VAR.DMA_IET_COUNT_6.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_TRIG_12.VALUE=HARDWARE_TRIGGER\r
 DRIVER.PINMUX.VAR.MUX40_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX16_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX2_OPTION4.VALUE=0\r
@@ -7067,7 +7067,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_93_SELECT.VALUE=0
 DRIVER.PINMUX.VAR.PIN_MUX_85_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_77_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_69_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_2_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_2_SELECT.VALUE=2\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_27.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_19.VALUE=CONSTANT\r
 DRIVER.PINMUX.VAR.DMA_IET_COUNT_9.VALUE=0\r
@@ -7098,7 +7098,7 @@ DRIVER.PINMUX.VAR.MUX102_CONFLICT.VALUE=0
 DRIVER.PINMUX.VAR.PIN_MUX_70_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_62_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_54_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_46_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_46_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.PIN_MUX_38_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_TTYPE_9_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_ADDMW_0_VALUE.VALUE=0x0001\r
@@ -7196,7 +7196,7 @@ DRIVER.PINMUX.VAR.MUX102_OPTION3.VALUE=0
 DRIVER.PINMUX.VAR.DMA_INTMP_6.VALUE=GROUP_A\r
 DRIVER.PINMUX.VAR.DMA_ACC_2.VALUE=ALL\r
 DRIVER.PINMUX.VAR.MUX102_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX93_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX93_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX85_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX77_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX69_OPTION0.VALUE=0\r
@@ -7235,19 +7235,19 @@ DRIVER.PINMUX.VAR.MUX77_OPTION4.VALUE=0
 DRIVER.PINMUX.VAR.MUX69_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX8_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX8_OPTION1.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX8_OPTION2.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX8_OPTION2.VALUE=1\r
 DRIVER.PINMUX.VAR.DMA_BASE.VALUE=0xFFFFF000\r
 DRIVER.PINMUX.VAR.MUX8_OPTION3.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX70_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX62_OPTION0.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX54_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX54_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX46_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX38_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX8_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX70_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX62_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX54_OPTION1.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX46_OPTION1.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX46_OPTION1.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX38_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX8_OPTION5.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX70_OPTION2.VALUE=0\r
@@ -7269,13 +7269,13 @@ DRIVER.PINMUX.VAR.MUX62_OPTION4.VALUE=0
 DRIVER.PINMUX.VAR.MUX54_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX46_OPTION4.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX38_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX1_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX1_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX54_OPTION5.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX46_OPTION5.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX38_OPTION5.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX1_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX1_OPTION2.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_98_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_98_SELECT.VALUE=2\r
 DRIVER.PINMUX.VAR.PIN_MUX_7_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_ADDMR_25_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_ADDMR_17_VALUE.VALUE=0x0001\r
@@ -7295,7 +7295,7 @@ DRIVER.PINMUX.VAR.MUX23_OPTION2.VALUE=0
 DRIVER.PINMUX.VAR.MUX23_CONFLICT.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX15_OPTION2.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX15_CONFLICT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_91_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_91_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.PIN_MUX_83_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_75_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_67_SELECT.VALUE=0\r
@@ -7314,7 +7314,7 @@ DRIVER.PINMUX.VAR.DMA_EIDXS_0.VALUE=0
 DRIVER.PINMUX.VAR.MUX96_CONFLICT.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX88_CONFLICT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_60_SELECT.VALUE=0\r
-DRIVER.PINMUX.VAR.PIN_MUX_52_SELECT.VALUE=0\r
+DRIVER.PINMUX.VAR.PIN_MUX_52_SELECT.VALUE=1\r
 DRIVER.PINMUX.VAR.PIN_MUX_44_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_36_SELECT.VALUE=0\r
 DRIVER.PINMUX.VAR.PIN_MUX_28_SELECT.VALUE=0\r
@@ -7377,7 +7377,7 @@ DRIVER.PINMUX.VAR.DMA_INTASS_1_VALUE.VALUE=0x0001
 DRIVER.PINMUX.VAR.RMII.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CHAS_16.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_INTLFSEN_6.VALUE=1\r
-DRIVER.PINMUX.VAR.PINMUX0.VALUE="PINMUX_BALL_C3_MIBSPI3NCS_3 | PINMUX_BALL_B2_MIBSPI3NCS_2"\r
+DRIVER.PINMUX.VAR.PINMUX0.VALUE="PINMUX_BALL_C3_HET1_29 | PINMUX_BALL_B2_HET1_27"\r
 DRIVER.PINMUX.VAR.MUX99_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_INTLFSEN_7.VALUE=1\r
 DRIVER.PINMUX.VAR.PINMUX1.VALUE="PINMUX_BALL_E3_HET1_11 | PINMUX_BALL_E5_ETMDATA_20 | PINMUX_BALL_F5_ETMDATA_21"\r
@@ -7421,16 +7421,16 @@ DRIVER.PINMUX.VAR.DMA_EIDXS_11.VALUE=0
 DRIVER.PINMUX.VAR.DMA_ADDMW_1_VALUE.VALUE=0x0001\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_1.VALUE=CHANNEL0\r
 DRIVER.PINMUX.VAR.DMA_CHPR_3_VALUE.VALUE=0x0001\r
-DRIVER.PINMUX.VAR.PINMUX7.VALUE="PINMUX_BALL_R6_ETMDATA_29 | PINMUX_BALL_V5_MIBSPI3NCS_1 | PINMUX_BALL_W3_SCIRX | PINMUX_BALL_R7_ETMDATA_30"\r
+DRIVER.PINMUX.VAR.PINMUX7.VALUE="PINMUX_BALL_R6_ETMDATA_29 | PINMUX_BALL_V5_HET1_25 | PINMUX_BALL_W3_SCIRX | PINMUX_BALL_R7_ETMDATA_30"\r
 DRIVER.PINMUX.VAR.MUX101_OPTION3.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_24.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.DMA_EIDXS_20.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_16.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.DMA_EIDXS_12.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_2.VALUE=CHANNEL0\r
-DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_BALL_N2_SCITX | PINMUX_BALL_G3_MIBSPI1NCS_2 | PINMUX_BALL_N1_HET1_15 | PINMUX_BALL_R8_ETMDATA_31"\r
+DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_BALL_N2_SCITX | PINMUX_BALL_G3_HET1_19 | PINMUX_BALL_N1_HET1_15 | PINMUX_BALL_R8_ETMDATA_31"\r
 DRIVER.PINMUX.VAR.MUX101_OPTION4.VALUE=0\r
-DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=0\r
+DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=1\r
 DRIVER.PINMUX.VAR.MUX84_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX76_OPTION0.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX68_OPTION0.VALUE=0\r
@@ -7439,7 +7439,7 @@ DRIVER.PINMUX.VAR.DMA_EIDXS_21.VALUE=0
 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17.VALUE=8BIT\r
 DRIVER.PINMUX.VAR.DMA_EIDXS_13.VALUE=0\r
 DRIVER.PINMUX.VAR.DMA_CHANNEL_3.VALUE=CHANNEL0\r
-DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_BALL_R9_ETMTRACECLKIN | PINMUX_BALL_W9_MIBSPI3NENA | PINMUX_BALL_V10_MIBSPI3NCS_0 | PINMUX_BALL_J3_MIBSPI1NCS_3"\r
+DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_BALL_R9_ETMTRACECLKIN | PINMUX_BALL_W9_HET1_31 | PINMUX_BALL_V10_MIBSPI3NCS_0 | PINMUX_BALL_J3_HET1_21"\r
 DRIVER.PINMUX.VAR.MUX92_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX84_OPTION1.VALUE=0\r
 DRIVER.PINMUX.VAR.MUX76_OPTION1.VALUE=0\r
index 5336bc05b16b51bf694b5e69582a9b8f7827ef95..2a40a40f9d9af36d1278351ade3126fe9b0b822f 100644 (file)
       <HDRGIO>\r
         <NAME>gio.h</NAME>\r
       </HDRGIO>\r
-      <SRCGIO/>\r
+      <SRCGIO>\r
+        <NAME>gio.c</NAME>\r
+      </SRCGIO>\r
       <HDRSCI>\r
         <NAME>sci.h</NAME>\r
       </HDRSCI>\r
       <HDRADC>\r
         <NAME>adc.h</NAME>\r
       </HDRADC>\r
-      <SRCADC/>\r
+      <SRCADC>\r
+        <NAME>adc.c</NAME>\r
+      </SRCADC>\r
       <HET1ASMHDR>\r
         <NAME/>\r
       </HET1ASMHDR>\r
       <HDRHTU>\r
         <NAME>htu.h</NAME>\r
       </HDRHTU>\r
-      <SRCHET/>\r
+      <SRCHET>\r
+        <NAME>het.c</NAME>\r
+      </SRCHET>\r
       <HET2ASMHDR>\r
         <NAME/>\r
       </HET2ASMHDR>\r
       <HDRDMM>\r
         <NAME>dmm.h</NAME>\r
       </HDRDMM>\r
-      <SRCDMM/>\r
+      <SRCDMM>\r
+        <NAME>dmm.c</NAME>\r
+      </SRCDMM>\r
       <HDREMIF>\r
         <NAME>emif.h</NAME>\r
       </HDREMIF>\r
         <PATH>include\gio.h</PATH>\r
       </HDRGIO>\r
       <SRCGIO>\r
-        <PATH/>\r
+        <PATH>source\gio.c</PATH>\r
       </SRCGIO>\r
     </FILENAMES>\r
   </GIO>\r
         <PATH>include\adc.h</PATH>\r
       </HDRADC>\r
       <SRCADC>\r
-        <PATH/>\r
+        <PATH>source\adc.c</PATH>\r
       </SRCADC>\r
     </FILENAMES>\r
   </ADC>\r
         <PATH>include\htu.h</PATH>\r
       </HDRHTU>\r
       <SRCHET>\r
-        <PATH/>\r
+        <PATH>source\het.c</PATH>\r
       </SRCHET>\r
     </FILENAMES>\r
   </HET>\r
         <PATH>include\dmm.h</PATH>\r
       </HDRDMM>\r
       <SRCDMM>\r
-        <PATH/>\r
+        <PATH>source\dmm.c</PATH>\r
       </SRCDMM>\r
     </FILENAMES>\r
   </DMM>\r
index b4fbee4ad0c82ca00fe295d08af2857091e8daae..d782003b3ae793c4491ea136b0f8ba847d6d8742 100644 (file)
@@ -1,10 +1,10 @@
 ******************************************************************************
                   TMS470 Linker Unix v4.9.1                    
 ******************************************************************************
->> Linked Tue Aug 28 14:08:25 2012
+>> Linked Thu Aug 30 15:34:53 2012
 
 OUTPUT FILE NAME:   <CmdProcTISCI.out>
-ENTRY POINT SYMBOL: "_c_int00"  address: 00008590
+ENTRY POINT SYMBOL: "_c_int00"  address: 0000a460
 
 
 MEMORY CONFIGURATION
@@ -12,25 +12,25 @@ MEMORY CONFIGURATION
          name            origin    length      used     unused   attr    fill
 ----------------------  --------  ---------  --------  --------  ----  --------
   VECTORS               00000000   00000020  00000020  00000000     X
-  FLASH0                00000020   0017ffe0  0000cd38  001732a8  R  X
+  FLASH0                00000020   0017ffe0  00010715  0016f8cb  R  X
   FLASH1                00180000   00180000  00000000  00180000  R  X
   STACKS                08000000   00001500  00000000  00001500  RW  
-  RAM                   08001500   00026b00  00004254  000228ac  RW  
+  RAM                   08001500   00026b00  0000438c  00022774  RW  
 
 
 SEGMENT ALLOCATION MAP
 
 run origin  load origin   length   init length attrs members
 ----------  ----------- ---------- ----------- ----- -------
-00000000    00000000    0000cd58   0000cd58    r-x
+00000000    00000000    00010738   00010738    r-x
   00000000    00000000    00000020   00000020    r-x .intvecs
-  00000020    00000020    0000c2f4   0000c2f4    r-x .text
-  0000c314    0000c314    00000974   00000974    r-- .const
-  0000cc88    0000cc88    000000d0   000000d0    r-- .cinit
-08001500    08001500    00004158   00000000    rw-
-  08001500    08001500    00004158   00000000    rw- .bss
-08005658    08005658    000000fc   000000fc    rw-
-  08005658    08005658    000000fc   000000fc    rw- .data
+  00000020    00000020    0000f638   0000f638    r-x .text
+  0000f658    0000f658    00000f75   00000f75    r-- .const
+  000105d0    000105d0    00000168   00000168    r-- .cinit
+08001500    08001500    0000415c   00000000    rw-
+  08001500    08001500    0000415c   00000000    rw- .bss
+08005660    08005660    00000230   00000230    rw-
+  08005660    08005660    00000230   00000230    rw- .data
 
 
 SECTION ALLOCATION MAP
@@ -41,85 +41,115 @@ section   page    origin      length       input sections
 .intvecs   0    00000000    00000020     
                   00000000    00000020     sys_intvecs.obj (.intvecs)
 
-.text      0    00000020    0000c2f4     
+.text      0    00000020    0000f638     
                   00000020    00002d4c     can.obj (.text)
                   00002d6c    000014c8     sys_selftest.obj (.text)
                   00004234    00001460     os_tasks.obj (.text)
-                  00005694    00000b48     os_queue.obj (.text)
-                  000061dc    00000b18     cmd_proc.obj (.text)
-                  00006cf4    000009ec     commands.obj (.text)
-                  000076e0    00000878     adc.obj (.text)
-                  00007f58    00000638     os_port.obj (.text)
-                  00008590    000005ac     sys_startup.obj (.text:retain)
-                  00008b3c    00000540     sci.obj (.text)
-                  0000907c    0000043c     esm.obj (.text)
-                  000094b8    000003cc     cmd_io_line.obj (.text)
-                  00009884    000003bc     cmdio_tisci.obj (.text)
-                  00009c40    00000384     sci.obj (.text:retain)
-                  00009fc4    00000384     sys_core.obj (.text)
-                  0000a348    00000308     system.obj (.text)
-                  0000a650    00000300     pinmux.obj (.text)
-                  0000a950    000002e0     can.obj (.text:retain)
-                  0000ac30    000002b8     i2str.obj (.text)
-                  0000aee8    00000240     os_list.obj (.text)
-                  0000b128    00000220     esm.obj (.text:retain)
-                  0000b348    000001d8     notification.obj (.text)
-                  0000b520    000001d8     adc.obj (.text:retain)
-                  0000b6f8    000001d4     cmd_io.obj (.text)
-                  0000b8cc    00000180     cmd_proc_freertos_tms570.obj (.text)
-                  0000ba4c    0000016c     os_portasm.obj (.text)
-                  0000bbb8    00000150     cmd_proc_run.obj (.text)
-                  0000bd08    000000e8     os_heap.obj (.text)
-                  0000bdf0    000000c0     dabort.obj (.text)
-                  0000beb0    0000009c     rtsv7R4_T_be_v3D16_eabi.lib : memcpy_t2.obj (.text)
-                  0000bf4c    00000078                                 : memset_t2.obj (.text)
-                  0000bfc4    00000068     sys_main.obj (.text)
-                  0000c02c    00000060     rtsv7R4_T_be_v3D16_eabi.lib : copy_decompress_rle.obj (.text)
-                  0000c08c    00000054                                 : u_div32.obj (.text)
-                  0000c0e0    00000050                                 : atoi.obj (.text)
-                  0000c130    00000050                                 : atol.obj (.text)
-                  0000c180    0000004c                                 : cpy_tbl.obj (.text)
-                  0000c1cc    00000044                                 : exit.obj (.text)
-                  0000c210    00000030                                 : strncpy.obj (.text)
-                  0000c240    00000026                                 : strncmp.obj (.text)
-                  0000c266    00000002     --HOLE-- [fill = 0]
-                  0000c268    00000018                                 : _lock.obj (.text)
-                  0000c280    00000016                                 : strchr.obj (.text)
-                  0000c296    00000014                                 : strlen.obj (.text)
-                  0000c2aa    00000012                                 : copy_zero_init.obj (.text:decompress:ZI)
-                  0000c2bc    00000010                                 : isalnum.obj (.text)
-                  0000c2cc    00000010                                 : isdigit.obj (.text)
-                  0000c2dc    00000010                                 : isspace.obj (.text)
-                  0000c2ec    00000010                                 : strcpy.obj (.text)
-                  0000c2fc    0000000e                                 : copy_decompress_none.obj (.text:decompress:none)
-                  0000c30a    00000006                                 : copy_decompress_rle.obj (.text:decompress:rle24)
-                  0000c310    00000004     sys_phantom.obj (.text:retain)
+                  00005694    000010b4     commands.obj (.text)
+                  00006748    00000b48     os_queue.obj (.text)
+                  00007290    00000b18     cmd_proc.obj (.text)
+                  00007da8    000009e6     rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.text)
+                  0000878e    00000002     --HOLE-- [fill = 0]
+                  00008790    00000878     adc.obj (.text)
+                  00009008    0000078c     het.obj (.text)
+                  00009794    00000694     mibspi.obj (.text)
+                  00009e28    00000638     os_port.obj (.text)
+                  0000a460    000005ac     sys_startup.obj (.text:retain)
+                  0000aa0c    00000540     sci.obj (.text)
+                  0000af4c    0000043c     esm.obj (.text)
+                  0000b388    000003cc     cmd_io_line.obj (.text)
+                  0000b754    000003bc     cmdio_tisci.obj (.text)
+                  0000bb10    00000384     sci.obj (.text:retain)
+                  0000be94    00000384     sys_core.obj (.text)
+                  0000c218    0000030c     pinmux.obj (.text)
+                  0000c524    00000308     system.obj (.text)
+                  0000c82c    000002e0     can.obj (.text:retain)
+                  0000cb0c    000002b8     i2str.obj (.text)
+                  0000cdc4    00000284     gio.obj (.text)
+                  0000d048    00000240     os_list.obj (.text)
+                  0000d288    00000238     notification.obj (.text)
+                  0000d4c0    00000220     esm.obj (.text:retain)
+                  0000d6e0    000001f4     rtsv7R4_T_be_v3D16_eabi.lib : ull_div_t2.obj (.text)
+                  0000d8d4    000001e4                                 : strtod.obj (.text)
+                  0000dab8    000001e0                                 : strtold.obj (.text)
+                  0000dc98    000001dc                                 : strtoll.obj (.text)
+                  0000de74    000001d8     adc.obj (.text:retain)
+                  0000e04c    000001d4     cmd_io.obj (.text)
+                  0000e220    00000180     cmd_proc_freertos_tms570.obj (.text)
+                  0000e3a0    0000017c     rtsv7R4_T_be_v3D16_eabi.lib : strtoull.obj (.text)
+                  0000e51c    00000178     mibspi.obj (.text:retain)
+                  0000e694    0000016c     os_portasm.obj (.text)
+                  0000e800    0000015c     het.obj (.text:retain)
+                  0000e95c    00000150     cmd_proc_run.obj (.text)
+                  0000eaac    00000130     rtsv7R4_T_be_v3D16_eabi.lib : strtol.obj (.text)
+                  0000ebdc    00000110                                 : strtoul.obj (.text)
+                  0000ecec    000000e8     os_heap.obj (.text)
+                  0000edd4    000000d8     mout.obj (.text)
+                  0000eeac    000000c8     gio.obj (.text:retain)
+                  0000ef74    000000c0     dabort.obj (.text)
+                  0000f034    000000b8     rtsv7R4_T_be_v3D16_eabi.lib : sscanf.obj (.text)
+                  0000f0ec    0000009c                                 : memcpy_t2.obj (.text)
+                  0000f188    00000078                                 : memset_t2.obj (.text)
+                  0000f200    00000074     sys_main.obj (.text)
+                  0000f274    00000060     rtsv7R4_T_be_v3D16_eabi.lib : copy_decompress_rle.obj (.text)
+                  0000f2d4    00000054                                 : u_div32.obj (.text)
+                  0000f328    00000050                                 : atoi.obj (.text)
+                  0000f378    00000050                                 : atol.obj (.text)
+                  0000f3c8    0000004c                                 : cpy_tbl.obj (.text)
+                  0000f414    00000044                                 : exit.obj (.text)
+                  0000f458    00000040                                 : strtok.obj (.text)
+                  0000f498    00000030                                 : strncpy.obj (.text)
+                  0000f4c8    0000002c     din.obj (.text)
+                  0000f4f4    0000002a     rtsv7R4_T_be_v3D16_eabi.lib : strspn.obj (.text)
+                  0000f51e    00000026                                 : strncmp.obj (.text)
+                  0000f544    00000020                                 : strcspn.obj (.text)
+                  0000f564    00000018                                 : _lock.obj (.text)
+                  0000f57c    00000018                                 : ll_mul_t2.obj (.text)
+                  0000f594    00000018                                 : strcmp.obj (.text)
+                  0000f5ac    00000018                                 : strrchr.obj (.text)
+                  0000f5c4    00000016                                 : strchr.obj (.text)
+                  0000f5da    00000014                                 : strlen.obj (.text)
+                  0000f5ee    00000012                                 : copy_zero_init.obj (.text:decompress:ZI)
+                  0000f600    00000010                                 : isalnum.obj (.text)
+                  0000f610    00000010                                 : isdigit.obj (.text)
+                  0000f620    00000010                                 : isspace.obj (.text)
+                  0000f630    00000010                                 : strcpy.obj (.text)
+                  0000f640    0000000e                                 : copy_decompress_none.obj (.text:decompress:none)
+                  0000f64e    00000006                                 : copy_decompress_rle.obj (.text:decompress:rle24)
+                  0000f654    00000004     sys_phantom.obj (.text:retain)
 
-.const     0    0000c314    00000974     
-                  0000c314    000003a4     commands.obj (.const:.string)
-                  0000c6b8    00000204     sys_startup.obj (.const:s_vim_init)
-                  0000c8bc    000001d7     commands.obj (.const)
-                  0000ca93    00000001     --HOLE-- [fill = 0]
-                  0000ca94    00000101     rtsv7R4_T_be_v3D16_eabi.lib : ctype.obj (.const:_ctypes_)
-                  0000cb95    00000003     --HOLE-- [fill = 0]
-                  0000cb98    00000038     cmd_proc_freertos_tms570.obj (.const:$P$T0$1)
-                  0000cbd0    00000030     adc.obj (.const)
-                  0000cc00    00000026     commands.obj (.const:$P$T1$2)
-                  0000cc26    00000002     --HOLE-- [fill = 0]
-                  0000cc28    00000023     commands.obj (.const:$P$T2$3)
-                  0000cc4b    00000001     --HOLE-- [fill = 0]
-                  0000cc4c    00000020     can.obj (.const)
-                  0000cc6c    0000001c     cmdio_std_line.obj (.const)
+.const     0    0000f658    00000f75     
+                  0000f658    0000048c     commands.obj (.const:.string)
+                  0000fae4    000003a0     het.obj (.const:het1PROGRAM)
+                  0000fe84    00000204     sys_startup.obj (.const:s_vim_init)
+                  00010088    000001ef     commands.obj (.const)
+                  00010277    00000001     --HOLE-- [fill = 0]
+                  00010278    00000101     rtsv7R4_T_be_v3D16_eabi.lib : ctype.obj (.const:_ctypes_)
+                  00010379    00000007     --HOLE-- [fill = 0]
+                  00010380    00000050                                 : strtod.obj (.const:digits)
+                  000103d0    00000050                                 : strtold.obj (.const:digits)
+                  00010420    00000048                                 : strtod.obj (.const:powerof10)
+                  00010468    00000048                                 : strtold.obj (.const:powerof10)
+                  000104b0    00000038     cmd_proc_freertos_tms570.obj (.const:$P$T0$1)
+                  000104e8    00000030     adc.obj (.const)
+                  00010518    00000026     commands.obj (.const:$P$T1$2)
+                  0001053e    00000002     --HOLE-- [fill = 0]
+                  00010540    00000023     commands.obj (.const:$P$T2$3)
+                  00010563    00000001     --HOLE-- [fill = 0]
+                  00010564    00000020     can.obj (.const)
+                  00010584    00000020     het.obj (.const)
+                  000105a4    0000001c     cmdio_std_line.obj (.const)
+                  000105c0    0000000d     rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.const)
 
-.cinit     0    0000cc88    000000d0     
-                  0000cc88    000000a5     (.cinit..data.load) [load image, compression = rle]
-                  0000cd2d    00000003     --HOLE-- [fill = 0]
-                  0000cd30    0000000c     (__TI_handler_table)
-                  0000cd3c    00000004     --HOLE-- [fill = 0]
-                  0000cd40    00000008     (.cinit..bss.load) [load image, compression = zero_init]
-                  0000cd48    00000010     (__TI_cinit_table)
+.cinit     0    000105d0    00000168     
+                  000105d0    0000013d     (.cinit..data.load) [load image, compression = rle]
+                  0001070d    00000003     --HOLE-- [fill = 0]
+                  00010710    0000000c     (__TI_handler_table)
+                  0001071c    00000004     --HOLE-- [fill = 0]
+                  00010720    00000008     (.cinit..bss.load) [load image, compression = zero_init]
+                  00010728    00000010     (__TI_cinit_table)
 
-.bss       0    08001500    00004158     UNINITIALIZED
+.bss       0    08001500    0000415c     UNINITIALIZED
                   08001500    00003fa0     os_heap.obj (.bss:xHeap)
                   080054a0    00000064     os_tasks.obj (.bss:pxReadyTasksLists)
                   08005504    00000058     os_tasks.obj (.bss)
@@ -129,29 +159,35 @@ section   page    origin      length       input sections
                   08005620    00000018     cmdio_tisci.obj (.bss)
                   08005638    00000018     commands.obj (.bss)
                   08005650    00000008     cmd_proc_freertos_tms570.obj (.bss)
+                  08005658    00000004     rtsv7R4_T_be_v3D16_eabi.lib : strtok.obj (.bss)
 
-.data      0    08005658    000000fc     
-                  08005658    0000003c     commands.obj (.data)
-                  08005694    00000030     cmdio_std_line.obj (.data)
-                  080056c4    00000030     os_tasks.obj (.data)
-                  080056f4    0000002c     commands.obj (.data:cmd_list_main)
-                  08005720    0000001c     cmdio_tisci.obj (.data)
-                  0800573c    00000008     rtsv7R4_T_be_v3D16_eabi.lib : _lock.obj (.data)
-                  08005744    00000008                                 : exit.obj (.data)
-                  0800574c    00000004     os_heap.obj (.data)
-                  08005750    00000004     os_port.obj (.data)
+.data      0    08005660    00000230     
+                  08005660    00000080     rtsv7R4_T_be_v3D16_eabi.lib : xvalues.obj (.data)
+                  080056e0    00000070                                 : xlvalues.obj (.data)
+                  08005750    0000003c     commands.obj (.data)
+                  0800578c    00000030     commands.obj (.data:cmd_list_main)
+                  080057bc    00000030     cmdio_std_line.obj (.data)
+                  080057ec    00000030     mout.obj (.data:moutPorts)
+                  0800581c    00000030     os_tasks.obj (.data)
+                  0800584c    0000001c     cmdio_tisci.obj (.data)
+                  08005868    0000000c     mout.obj (.data)
+                  08005874    00000008     rtsv7R4_T_be_v3D16_eabi.lib : _lock.obj (.data)
+                  0800587c    00000008                                 : exit.obj (.data)
+                  08005884    00000004     os_heap.obj (.data)
+                  08005888    00000004     os_port.obj (.data)
+                  0800588c    00000004     rtsv7R4_T_be_v3D16_eabi.lib : errno.obj (.data)
 
 
 LINKER GENERATED COPY TABLES
 
-__TI_cinit_table @ 0000cd48 records: 2, size/record: 8, table size: 16
-       .data: load addr=0000cc88, load size=000000a5 bytes, run addr=08005658, run size=000000fc bytes, compression=rle
-       .bss: load addr=0000cd40, load size=00000008 bytes, run addr=08001500, run size=00004158 bytes, compression=zero_init
+__TI_cinit_table @ 00010728 records: 2, size/record: 8, table size: 16
+       .data: load addr=000105d0, load size=0000013d bytes, run addr=08005660, run size=00000230 bytes, compression=rle
+       .bss: load addr=00010720, load size=00000008 bytes, run addr=08001500, run size=0000415c bytes, compression=zero_init
 
 
 LINKER GENERATED HANDLER TABLE
 
-__TI_handler_table @ 0000cd30 records: 3, size/record: 4, table size: 12
+__TI_handler_table @ 00010710 records: 3, size/record: 4, table size: 12
        index: 0, handler: __TI_zero_init
        index: 1, handler: __TI_decompress_rle24
        index: 2, handler: __TI_decompress_none
@@ -161,105 +197,126 @@ GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
 
 address    name
 --------   ----
-0000c1cd   C$$EXIT
-0000cd48   __TI_CINIT_Base
-0000cd58   __TI_CINIT_Limit
-0000cd30   __TI_Handler_Table_Base
-0000cd3c   __TI_Handler_Table_Limit
-0000a340   __TI_PINIT_Base
-0000a344   __TI_PINIT_Limit
-0000c2fd   __TI_decompress_none
-0000c30b   __TI_decompress_rle24
+0000f415   C$$EXIT
+08005660   _Denorm
+08005670   _Eps
+0800588c   _Errno
+08005680   _Hugeval
+08005690   _Inf
+080056e0   _LDenorm
+080056f0   _LEps
+08005700   _LInf
+08005710   _LNan
+08005730   _LRteps
+08005720   _LSnan
+08005740   _LXbig
+08005748   _LZero
+080056a0   _Nan
+080056c0   _Rteps
+080056b0   _Snan
+080056d0   _Xbig
+080056d8   _Zero
+00010728   __TI_CINIT_Base
+00010738   __TI_CINIT_Limit
+00010710   __TI_Handler_Table_Base
+0001071c   __TI_Handler_Table_Limit
+0000c210   __TI_PINIT_Base
+0000c214   __TI_PINIT_Limit
+0000f641   __TI_decompress_none
+0000f64f   __TI_decompress_rle24
 00000000   __TI_static_base__
-0000c2ab   __TI_zero_init
-0000bf4d   __aeabi_memclr
-0000bf4d   __aeabi_memclr4
-0000bf4d   __aeabi_memclr8
-0000beb1   __aeabi_memcpy
-0000beb1   __aeabi_memcpy4
-0000beb1   __aeabi_memcpy8
-0000bf4f   __aeabi_memset
-0000bf4f   __aeabi_memset4
-0000bf4f   __aeabi_memset8
-0000c08c   __aeabi_uidivmod
+0000f5ef   __TI_zero_init
+0000f57d   __aeabi_lmul
+0000f189   __aeabi_memclr
+0000f189   __aeabi_memclr4
+0000f189   __aeabi_memclr8
+0000f0ed   __aeabi_memcpy
+0000f0ed   __aeabi_memcpy4
+0000f0ed   __aeabi_memcpy8
+0000f18b   __aeabi_memset
+0000f18b   __aeabi_memset4
+0000f18b   __aeabi_memset8
+0000f2d4   __aeabi_uidivmod
+0000d6e1   __aeabi_uldivmod
 ffffffff   __binit__
 ffffffff   __c_args__
-00008590   _c_int00
-08005744   _cleanup_ptr
-0000a268   _coreClearAuxiliaryDataFault_
-0000a284   _coreClearAuxiliaryInstructionFault_
-0000a230   _coreClearDataFaultAddress_
-0000a1f8   _coreClearDataFault_
-0000a24c   _coreClearInstructionFaultAddress_
-0000a214   _coreClearInstructionFault_
-0000a15c   _coreDisableEventBusExport_
-0000a1c0   _coreDisableFlashEcc_
-0000a18c   _coreDisableRamEcc_
-0000a144   _coreEnableEventBusExport_
-0000a1a4   _coreEnableFlashEcc_
-0000a1d8   _coreEnableIrqVicOffset_
-0000a174   _coreEnableRamEcc_
-0000a12c   _coreEnableVfp_
-0000a260   _coreGetAuxiliaryDataFault_
-0000a27c   _coreGetAuxiliaryInstructionFault_
-0000a228   _coreGetDataFaultAddress_
-0000a1f0   _coreGetDataFault_
-0000a244   _coreGetInstructionFaultAddress_
-0000a20c   _coreGetInstructionFault_
-00009fc4   _coreInitRegisters_
-0000a0c4   _coreInitStackPointer_
-0000ca94   _ctypes_
-0000bdf0   _dabort
-0000a2a0   _disable_FIQ_interrupt_
-0000a2a8   _disable_IRQ_interrupt_
-0000a298   _disable_interrupt_
-08005748   _dtors_ptr
-0000a2b0   _enable_interrupt_
-0000a2b8   _esmCcmErrorsClear_
-0000a110   _getCPSRValue_
-0000a118   _gotoCPUIdle_
-0800573c   _lock
+0000a460   _c_int00
+0800587c   _cleanup_ptr
+0000c138   _coreClearAuxiliaryDataFault_
+0000c154   _coreClearAuxiliaryInstructionFault_
+0000c100   _coreClearDataFaultAddress_
+0000c0c8   _coreClearDataFault_
+0000c11c   _coreClearInstructionFaultAddress_
+0000c0e4   _coreClearInstructionFault_
+0000c02c   _coreDisableEventBusExport_
+0000c090   _coreDisableFlashEcc_
+0000c05c   _coreDisableRamEcc_
+0000c014   _coreEnableEventBusExport_
+0000c074   _coreEnableFlashEcc_
+0000c0a8   _coreEnableIrqVicOffset_
+0000c044   _coreEnableRamEcc_
+0000bffc   _coreEnableVfp_
+0000c130   _coreGetAuxiliaryDataFault_
+0000c14c   _coreGetAuxiliaryInstructionFault_
+0000c0f8   _coreGetDataFaultAddress_
+0000c0c0   _coreGetDataFault_
+0000c114   _coreGetInstructionFaultAddress_
+0000c0dc   _coreGetInstructionFault_
+0000be94   _coreInitRegisters_
+0000bf94   _coreInitStackPointer_
+00010278   _ctypes_
+0000ef74   _dabort
+0000c170   _disable_FIQ_interrupt_
+0000c178   _disable_IRQ_interrupt_
+0000c168   _disable_interrupt_
+08005880   _dtors_ptr
+0000c180   _enable_interrupt_
+0000c188   _esmCcmErrorsClear_
+0000bfe0   _getCPSRValue_
+0000bfe8   _gotoCPUIdle_
+08005874   _lock
 00002e84   _memoryInit_
-0000c275   _nop
-0000c26f   _register_lock
-0000c269   _register_unlock
-08005740   _unlock
-0000c1d1   abort
+0000f571   _nop
+0000f56b   _register_lock
+0000f565   _register_unlock
+00008475   _scanfi
+08005878   _unlock
+0000f419   abort
 08005640   adc1Data
-0000b520   adc1Group0Interrupt
-0000b56c   adc1Group1Interrupt
-0000b5ac   adc1Group2Interrupt
+0000de74   adc1Group0Interrupt
+0000dec0   adc1Group1Interrupt
+0000df00   adc1Group2Interrupt
 00003b74   adc1ParityCheck
-0000b5f8   adc2Group0Interrupt
-0000b644   adc2Group1Interrupt
-0000b690   adc2Group2Interrupt
+0000df4c   adc2Group0Interrupt
+0000df98   adc2Group1Interrupt
+0000dfe4   adc2Group2Interrupt
 00003be0   adc2ParityCheck
-00007b08   adcCalibration
+00008bb8   adcCalibration
 0800563c   adcDataConverted
-00007ed4   adcDisableNotification
-00007e84   adcEnableNotification
-000078d4   adcGetData
-000076e0   adcInit
-00007ad8   adcIsConversionComplete
-00007aa8   adcIsFifoFull
-00007ce4   adcMidPointCalibration
-0000b390   adcNotification
-000078ac   adcResetFiFo
-000077fc   adcStartConversion
-00007884   adcStopConversion
-0000c0e1   atoi
-0000c131   atol
+00008f84   adcDisableNotification
+00008f34   adcEnableNotification
+00008984   adcGetData
+00008790   adcInit
+00008b88   adcIsConversionComplete
+00008b58   adcIsFifoFull
+00008d94   adcMidPointCalibration
+0000d2d0   adcNotification
+0000895c   adcResetFiFo
+000088ac   adcStartConversion
+00008934   adcStopConversion
+0000f329   atoi
+0000f379   atol
 ffffffff   binit
-0000a950   can1HighLevelInterrupt
-0000aa0c   can1LowLevelInterrupt
+0000c82c   can1HighLevelInterrupt
+0000c8e8   can1LowLevelInterrupt
 00003c4c   can1ParityCheck
-0000aaa8   can2HighLevelInterrupt
-0000ab64   can2LowLevelInterrupt
+0000c984   can2HighLevelInterrupt
+0000ca40   can2LowLevelInterrupt
 00003ccc   can2ParityCheck
 00003d5c   can3ParityCheck
 00002c8c   canDisableErrorNotification
 00002c6c   canEnableErrorNotification
-0000b44c   canErrorNotification
+0000d38c   canErrorNotification
 000029e0   canGetData
 00002c48   canGetErrorLevel
 00002c24   canGetLastError
@@ -271,100 +328,113 @@ ffffffff   binit
 00002bc8   canIsMessageBoxValid
 00002b6c   canIsRxMessageArrived
 00002b10   canIsTxMessagePending
-0000b470   canMessageNotification
+0000d3b0   canMessageNotification
 08005638   canMsgReceived
 000028fc   canTransmit
+00009624   capGetSignal
 00002e50   ccmFail
 00002d6c   ccmSelfCheck
 000035a0   checkB0RAMECC
 000036c4   checkB1RAMECC
 000037e4   checkFlashECC
 00003424   checkefcSelfTest
-00009abc   clearBuffer
-00009a9c   clearInputBuffer
-00009aac   clearOutputBuffer
-0000ca24   cmd_des_char
-0000ca3c   cmd_des_charmid
-0000c994   cmd_des_error
-0000c904   cmd_des_help
-0000ca54   cmd_des_hiddedn
-0000ca0c   cmd_des_num
-0000c964   cmd_des_opchar_test
-0000c9c4   cmd_des_opchar_testro
-0000c9ac   cmd_des_param
-0000c9f4   cmd_des_prefix
-0000c8bc   cmd_des_readadc1
-0000c9dc   cmd_des_test
-0000c8d4   cmd_des_testadcconnetion
-0000c8ec   cmd_des_testcanloopback
-0000c97c   cmd_des_testio
-0000c91c   cmd_des_val
-0000c934   cmd_des_valro
-0000c94c   cmd_des_valwo
-00006aec   cmd_do_help
-00006cf4   cmd_do_readADC1Values
-00006924   cmd_do_rw_int
-000069c4   cmd_do_rw_long
-00006884   cmd_do_rw_short
-00006800   cmd_do_stamp
-000074e0   cmd_do_test
-00006f94   cmd_do_testADC1Connection
-00007250   cmd_do_testcanloopback
-0000753c   cmd_do_testcmdio
-000074c4   cmd_do_testerror
-0000737c   cmd_do_testopchar
-00007450   cmd_do_testparam
-00009528   cmd_ed_line_buf
-08005720   cmd_io_buf
-00009758   cmd_io_line_in
-00009660   cmd_io_line_out
-00009640   cmd_io_line_putc
-00009830   cmd_io_line_rdline
-0000b73c   cmd_io_puts
-0000b848   cmd_io_read_bychar
-0000cc6c   cmd_io_std_line
-0000b7d0   cmd_io_write_bychar
-08005690   cmd_list
-08005658   cmd_list_1
-08005670   cmd_list_2
-080056f4   cmd_list_main
-00006730   cmd_num_suffix
-000066b4   cmd_opchar_check
-00006a64   cmd_opchar_replong
-0000bbf4   cmd_processor_run
-0000c181   copy_in
+0000b98c   clearBuffer
+0000b96c   clearInputBuffer
+0000b97c   clearOutputBuffer
+00010208   cmd_des_char
+00010220   cmd_des_charmid
+00010178   cmd_des_error
+000100e8   cmd_des_help
+00010238   cmd_des_hiddedn
+000101f0   cmd_des_num
+00010148   cmd_des_opchar_test
+000101a8   cmd_des_opchar_testro
+00010190   cmd_des_param
+000101d8   cmd_des_prefix
+000100a0   cmd_des_read
+00010088   cmd_des_setPin
+000101c0   cmd_des_test
+000100b8   cmd_des_testadcconnetion
+000100d0   cmd_des_testcanloopback
+00010160   cmd_des_testio
+00010100   cmd_des_val
+00010118   cmd_des_valro
+00010130   cmd_des_valwo
+00007ba0   cmd_do_help
+00005814   cmd_do_readADC1Values
+00005754   cmd_do_readDINValues
+00005694   cmd_do_readMOUTValues
+00005a20   cmd_do_readValues
+000079d8   cmd_do_rw_int
+00007a78   cmd_do_rw_long
+00007938   cmd_do_rw_short
+00005c34   cmd_do_setPin
+000078b4   cmd_do_stamp
+00006530   cmd_do_test
+00005fd0   cmd_do_testADC1Connection
+00006284   cmd_do_testcanloopback
+00006588   cmd_do_testcmdio
+00006514   cmd_do_testerror
+000063cc   cmd_do_testopchar
+000064a0   cmd_do_testparam
+0000b3f8   cmd_ed_line_buf
+0800584c   cmd_io_buf
+0000b628   cmd_io_line_in
+0000b530   cmd_io_line_out
+0000b510   cmd_io_line_putc
+0000b700   cmd_io_line_rdline
+0000e090   cmd_io_puts
+0000e19c   cmd_io_read_bychar
+000105a4   cmd_io_std_line
+0000e124   cmd_io_write_bychar
+08005788   cmd_list
+08005750   cmd_list_1
+08005768   cmd_list_2
+0800578c   cmd_list_main
+000077e4   cmd_num_suffix
+00007768   cmd_opchar_check
+00007b18   cmd_opchar_replong
+0000e998   cmd_processor_run
+0000f3c9   copy_in
 00002f70   cpuSelfTest
 000038b4   cpuSelfTestFail
 000038ac   custom_dabort
+0000f4e0   dinGetPort
+0000f4c8   dinSetPort
 0000392c   dmaParityCheck
-08005694   ed_line_buf_in_std
-080056ac   ed_line_buf_out_std
+080057bc   ed_line_buf_in_std
+080057d4   ed_line_buf_out_std
 0800555c   ed_line_in_std
 080055b0   ed_line_out_std
+000095e4   edgeDisableNotification
+000095a8   edgeEnableNotification
+0000957c   edgeGetCounter
+0000d484   edgeNotification
+00009550   edgeResetCounter
 000032ec   efcCheck
 000034bc   efcClass1Error
 000034c0   efcClass2Error
 000033fc   efcSelfTest
 00003348   efcStuckZeroTest
-0000922c   esmActivateNormalOperation
-00009318   esmClearStatus
-00009358   esmClearStatusBuffer
-000091f0   esmDisableError
-00009268   esmDisableInterrupt
-000091c4   esmEnableError
-0000923c   esmEnableInterrupt
-000091a8   esmError
-000093a4   esmGetStatus
-00009408   esmGetStatusBuffer
-0000b348   esmGroup1Notification
-0000b354   esmGroup2Notification
-0000b128   esmHighInterrupt
-0000907c   esmInit
-0000b26c   esmLowInterrupt
-00009384   esmSetCounterPreloadValue
-00009294   esmSetInterruptLevel
-0000921c   esmTriggerErrorPinReset
-0000c1d9   exit
+0000b0fc   esmActivateNormalOperation
+0000b1e8   esmClearStatus
+0000b228   esmClearStatusBuffer
+0000b0c0   esmDisableError
+0000b138   esmDisableInterrupt
+0000b094   esmEnableError
+0000b10c   esmEnableInterrupt
+0000b078   esmError
+0000b274   esmGetStatus
+0000b2d8   esmGetStatusBuffer
+0000d288   esmGroup1Notification
+0000d294   esmGroup2Notification
+0000d4c0   esmHighInterrupt
+0000af4c   esmInit
+0000d604   esmLowInterrupt
+0000b254   esmSetCounterPreloadValue
+0000b164   esmSetInterruptLevel
+0000b0ec   esmTriggerErrorPinReset
+0000f421   exit
 000038a4   flashClass1Error
 000038a8   flashClass2Error
 000034c4   fmcBus2Check
@@ -372,29 +442,66 @@ ffffffff   binit
 0000359c   fmcClass2Error
 00003500   fmcECCcheck
 08005608   g_sciTransfer
-0000995c   genericPrint
-00009914   genericRead
+0000b82c   genericPrint
+0000b7e4   genericRead
+0000cfe0   gioDisableNotification
+0000cfbc   gioEnableNotification
+0000cf24   gioGetBit
+0000cf4c   gioGetPort
+0000eeac   gioHighLevelInterrupt
+0000cdc4   gioInit
+0000ef0c   gioLowLevelInterrupt
+0000d408   gioNotification
+0000ceb4   gioSetBit
+0000ce94   gioSetDirection
+0000cf04   gioSetPort
+0000cf64   gioToggleBit
+0000e800   het1HighLevelInterrupt
+0000e8a8   het1LowLevelInterrupt
+0000fae4   het1PROGRAM
 000039a0   het1ParityCheck
 00003a7c   het2ParityCheck
+00009734   hetGetTimestamp
+00009008   hetInit
+0000d494   hetNotification
+00009718   hetResetTimestamp
 00003a08   htu1ParityCheck
 00003b00   htu2ParityCheck
-0000ac30   i2str
+0000cb0c   i2str
 0800562c   inBuffer
-0000b8cc   initCmdProc
-00009884   initIoBuffer
-0000c2bd   isalnum
-0000c2cd   isdigit
-0000c2dd   isspace
-0000bfc4   main
-0000a45c   mapClocks
-0000beb1   memcpy
-0000b360   memoryPort0TestFailNotification
-0000b378   memoryPort1TestFailNotification
-0000bf55   memset
+0000e220   initCmdProc
+0000b754   initIoBuffer
+0000f601   isalnum
+0000f611   isdigit
+0000f621   isspace
+0000f200   main
+0000c638   mapClocks
+0000f0ed   memcpy
+0000d2a0   memoryPort0TestFailNotification
+0000d2b8   memoryPort1TestFailNotification
+0000f191   memset
 00003df0   mibspi1ParityCheck
 00003ed8   mibspi3ParityCheck
+0000e51c   mibspi5HighLevelInterrupt
+0000e5cc   mibspi5LowLevelInterrupt
 00003fd0   mibspi5ParityCheck
-0000a650   muxInit
+00009d4c   mibspiDisableGroupNotification
+00009ca8   mibspiDisableLoopback
+00009cc4   mibspiEnableGroupNotification
+00009c74   mibspiEnableLoopback
+00009ad8   mibspiGetData
+0000d424   mibspiGroupNotification
+00009794   mibspiInit
+00009c48   mibspiIsTransferComplete
+0000d414   mibspiNotification
+000099d4   mibspiSetData
+000099b4   mibspiSetFunctional
+00009c18   mibspiTransfer
+08005868   moutBits
+0000ee38   moutGetPort
+080057ec   moutPorts
+0000edd4   moutSetPort
+0000c218   muxInit
 08005620   outBuffer
 00003238   pbistIsTestCompleted
 00003254   pbistIsTestPassed
@@ -403,74 +510,94 @@ ffffffff   binit
 00002ff0   pbistSelfCheck
 0000312c   pbistSelfCheckFail
 00003208   pbistStop
-0000a404   periphInit
-0000c310   phantomInterrupt
-000098e4   print
-00006290   proc_cmd_line
-0000b9ec   processCmd
+0000c5e0   periphInit
+0000f654   phantomInterrupt
+0000b7b4   print
+00007344   proc_cmd_line
+0000e340   processCmd
 08005650   processCmdHandler
 08005654   prompt
-0000bd08   pvPortMalloc
-080056c4   pxCurrentTCB
-00007f58   pxPortInitialiseStack
-000098fc   read
-00008f40   sciDisableLoopback
-00008fc4   sciDisableNotification
-00008f0c   sciEnableLoopback
-00008f5c   sciEnableNotification
-00009c40   sciHighLevelInterrupt
-00008b3c   sciInit
-00008e10   sciIsRxReady
-00008cb0   sciIsTxReady
-00009dd8   sciLowLevelInterrupt
-0000b4c8   sciNotification
-00008e84   sciReceive
-00008e5c   sciReceiveByte
-00008e2c   sciRxError
-00008cfc   sciSend
-00008ccc   sciSendByte
-00008c30   sciSetBaudrate
-00008c10   sciSetFunctional
-0000a3c4   setupFlash
-0000a348   setupPLL
-0000625c   skip_white
+0000ecec   pvPortMalloc
+00009520   pwmDisableNotification
+000094d8   pwmEnableNotification
+000093dc   pwmGetSignal
+0000d470   pwmNotification
+00009130   pwmSetDuty
+0000926c   pwmSetSignal
+000090c8   pwmStart
+000090fc   pwmStop
+0800581c   pxCurrentTCB
+00009e28   pxPortInitialiseStack
+0000b7cc   read
+0000ae10   sciDisableLoopback
+0000ae94   sciDisableNotification
+0000addc   sciEnableLoopback
+0000ae2c   sciEnableNotification
+0000bb10   sciHighLevelInterrupt
+0000aa0c   sciInit
+0000ace0   sciIsRxReady
+0000ab80   sciIsTxReady
+0000bca8   sciLowLevelInterrupt
+0000d434   sciNotification
+0000ad54   sciReceive
+0000ad2c   sciReceiveByte
+0000acfc   sciRxError
+0000abcc   sciSend
+0000ab9c   sciSendByte
+0000ab00   sciSetBaudrate
+0000aae0   sciSetFunctional
+0000c5a0   setupFlash
+0000c524   setupPLL
+00007310   skip_white
+0000f035   sscanf
 00002ec8   stcSelfCheck
 000038b0   stcSelfCheckFail
-0000c281   strchr
-0000c2ed   strcpy
-0000c297   strlen
-0000c241   strncmp
-0000c211   strncpy
-0000a534   systemInit
-0000a5c0   systemPowerDown
+0000f5c5   strchr
+0000f595   strcmp
+0000f631   strcpy
+0000f545   strcspn
+0000f5db   strlen
+0000f51f   strncmp
+0000f499   strncpy
+0000f5ad   strrchr
+0000f4f5   strspn
+0000d8d5   strtod
+0000f459   strtok
+0000eaad   strtol
+0000dab9   strtold
+0000dc99   strtoll
+0000ebdd   strtoul
+0000e3a1   strtoull
+0000c710   systemInit
+0000c79c   systemPowerDown
 000037dc   tcramClass1Error
 000037e0   tcramClass2Error
-00009b40   tisci_getc
-00009b04   tisci_putc
-00009bb0   tisci_read
-00009b70   tisci_write
-0000a37c   trimLPO
-08005750   ulCriticalNesting
-00005e08   uxQueueMessagesWaiting
-00005e2c   uxQueueMessagesWaitingFromISR
+0000ba10   tisci_getc
+0000b9d4   tisci_putc
+0000ba80   tisci_read
+0000ba40   tisci_write
+0000c558   trimLPO
+08005888   ulCriticalNesting
+00006ebc   uxQueueMessagesWaiting
+00006ee0   uxQueueMessagesWaitingFromISR
 00004c08   uxTaskGetNumberOfTasks
 000053e8   uxTaskGetStackHighWaterMark
 00004598   uxTaskPriorityGet
-0000aee8   vListInitialise
-0000af40   vListInitialiseItem
-0000afe0   vListInsert
-0000af5c   vListInsertEnd
-0000b0a4   vListRemove
-0000844c   vPortEndScheduler
-00008450   vPortEnterCritical
-00008468   vPortExitCritical
-0000bdb0   vPortFree
-0000bdc0   vPortInitialiseBlocks
-0000ba4c   vPortStartFirstTask
-0000bba4   vPortYield
-0000ba80   vPortYieldProcessor
-0000bb08   vPreemptiveTick
-00005e4c   vQueueDelete
+0000d048   vListInitialise
+0000d0a0   vListInitialiseItem
+0000d140   vListInsert
+0000d0bc   vListInsertEnd
+0000d204   vListRemove
+0000a31c   vPortEndScheduler
+0000a320   vPortEnterCritical
+0000a338   vPortExitCritical
+0000ed94   vPortFree
+0000eda4   vPortInitialiseBlocks
+0000e694   vPortStartFirstTask
+0000e7ec   vPortYield
+0000e6c8   vPortYieldProcessor
+0000e750   vPreemptiveTick
+00006f00   vQueueDelete
 00004530   vTaskDelay
 00004434   vTaskDelayUntil
 00004a24   vTaskEndScheduler
@@ -488,17 +615,17 @@ ffffffff   binit
 00004df4   vTaskSwitchContext
 0800564c   val
 000038b8   vimParityCheck
-0000bdd0   xPortGetFreeHeapSize
-00008438   xPortStartScheduler
-00005694   xQueueCreate
-00005880   xQueueCreateCountingSemaphore
-000057c4   xQueueCreateMutex
-00005b10   xQueueGenericReceive
-000058bc   xQueueGenericSend
-00005a44   xQueueGenericSendFromISR
-00006138   xQueueIsQueueEmptyFromISR
-000061a4   xQueueIsQueueFullFromISR
-00005d3c   xQueueReceiveFromISR
+0000edb4   xPortGetFreeHeapSize
+0000a308   xPortStartScheduler
+00006748   xQueueCreate
+00006934   xQueueCreateCountingSemaphore
+00006878   xQueueCreateMutex
+00006bc4   xQueueGenericReceive
+00006970   xQueueGenericSend
+00006af8   xQueueGenericSendFromISR
+000071ec   xQueueIsQueueEmptyFromISR
+00007258   xQueueIsQueueFullFromISR
+00006df0   xQueueReceiveFromISR
 00005038   xTaskCheckForTimeOut
 00004234   xTaskGenericCreate
 00005438   xTaskGetCurrentTaskHandle
@@ -602,238 +729,309 @@ address    name
 00005458   xTaskGetSchedulerState
 000054a8   vTaskPriorityInherit
 000055ac   vTaskPriorityDisinherit
-00005694   xQueueCreate
-000057c4   xQueueCreateMutex
-00005880   xQueueCreateCountingSemaphore
-000058bc   xQueueGenericSend
-00005a44   xQueueGenericSendFromISR
-00005b10   xQueueGenericReceive
-00005d3c   xQueueReceiveFromISR
-00005e08   uxQueueMessagesWaiting
-00005e2c   uxQueueMessagesWaitingFromISR
-00005e4c   vQueueDelete
-00006138   xQueueIsQueueEmptyFromISR
-000061a4   xQueueIsQueueFullFromISR
-0000625c   skip_white
-00006290   proc_cmd_line
-000066b4   cmd_opchar_check
-00006730   cmd_num_suffix
-00006800   cmd_do_stamp
-00006884   cmd_do_rw_short
-00006924   cmd_do_rw_int
-000069c4   cmd_do_rw_long
-00006a64   cmd_opchar_replong
-00006aec   cmd_do_help
-00006cf4   cmd_do_readADC1Values
-00006f94   cmd_do_testADC1Connection
-00007250   cmd_do_testcanloopback
-0000737c   cmd_do_testopchar
-00007450   cmd_do_testparam
-000074c4   cmd_do_testerror
-000074e0   cmd_do_test
-0000753c   cmd_do_testcmdio
-000076e0   adcInit
-000077fc   adcStartConversion
-00007884   adcStopConversion
-000078ac   adcResetFiFo
-000078d4   adcGetData
-00007aa8   adcIsFifoFull
-00007ad8   adcIsConversionComplete
-00007b08   adcCalibration
-00007ce4   adcMidPointCalibration
-00007e84   adcEnableNotification
-00007ed4   adcDisableNotification
-00007f58   pxPortInitialiseStack
-00008438   xPortStartScheduler
-0000844c   vPortEndScheduler
-00008450   vPortEnterCritical
-00008468   vPortExitCritical
-00008590   _c_int00
-00008b3c   sciInit
-00008c10   sciSetFunctional
-00008c30   sciSetBaudrate
-00008cb0   sciIsTxReady
-00008ccc   sciSendByte
-00008cfc   sciSend
-00008e10   sciIsRxReady
-00008e2c   sciRxError
-00008e5c   sciReceiveByte
-00008e84   sciReceive
-00008f0c   sciEnableLoopback
-00008f40   sciDisableLoopback
-00008f5c   sciEnableNotification
-00008fc4   sciDisableNotification
-0000907c   esmInit
-000091a8   esmError
-000091c4   esmEnableError
-000091f0   esmDisableError
-0000921c   esmTriggerErrorPinReset
-0000922c   esmActivateNormalOperation
-0000923c   esmEnableInterrupt
-00009268   esmDisableInterrupt
-00009294   esmSetInterruptLevel
-00009318   esmClearStatus
-00009358   esmClearStatusBuffer
-00009384   esmSetCounterPreloadValue
-000093a4   esmGetStatus
-00009408   esmGetStatusBuffer
-00009528   cmd_ed_line_buf
-00009640   cmd_io_line_putc
-00009660   cmd_io_line_out
-00009758   cmd_io_line_in
-00009830   cmd_io_line_rdline
-00009884   initIoBuffer
-000098e4   print
-000098fc   read
-00009914   genericRead
-0000995c   genericPrint
-00009a9c   clearInputBuffer
-00009aac   clearOutputBuffer
-00009abc   clearBuffer
-00009b04   tisci_putc
-00009b40   tisci_getc
-00009b70   tisci_write
-00009bb0   tisci_read
-00009c40   sciHighLevelInterrupt
-00009dd8   sciLowLevelInterrupt
-00009fc4   _coreInitRegisters_
-0000a0c4   _coreInitStackPointer_
-0000a110   _getCPSRValue_
-0000a118   _gotoCPUIdle_
-0000a12c   _coreEnableVfp_
-0000a144   _coreEnableEventBusExport_
-0000a15c   _coreDisableEventBusExport_
-0000a174   _coreEnableRamEcc_
-0000a18c   _coreDisableRamEcc_
-0000a1a4   _coreEnableFlashEcc_
-0000a1c0   _coreDisableFlashEcc_
-0000a1d8   _coreEnableIrqVicOffset_
-0000a1f0   _coreGetDataFault_
-0000a1f8   _coreClearDataFault_
-0000a20c   _coreGetInstructionFault_
-0000a214   _coreClearInstructionFault_
-0000a228   _coreGetDataFaultAddress_
-0000a230   _coreClearDataFaultAddress_
-0000a244   _coreGetInstructionFaultAddress_
-0000a24c   _coreClearInstructionFaultAddress_
-0000a260   _coreGetAuxiliaryDataFault_
-0000a268   _coreClearAuxiliaryDataFault_
-0000a27c   _coreGetAuxiliaryInstructionFault_
-0000a284   _coreClearAuxiliaryInstructionFault_
-0000a298   _disable_interrupt_
-0000a2a0   _disable_FIQ_interrupt_
-0000a2a8   _disable_IRQ_interrupt_
-0000a2b0   _enable_interrupt_
-0000a2b8   _esmCcmErrorsClear_
-0000a340   __TI_PINIT_Base
-0000a344   __TI_PINIT_Limit
-0000a348   setupPLL
-0000a37c   trimLPO
-0000a3c4   setupFlash
-0000a404   periphInit
-0000a45c   mapClocks
-0000a534   systemInit
-0000a5c0   systemPowerDown
-0000a650   muxInit
-0000a950   can1HighLevelInterrupt
-0000aa0c   can1LowLevelInterrupt
-0000aaa8   can2HighLevelInterrupt
-0000ab64   can2LowLevelInterrupt
-0000ac30   i2str
-0000aee8   vListInitialise
-0000af40   vListInitialiseItem
-0000af5c   vListInsertEnd
-0000afe0   vListInsert
-0000b0a4   vListRemove
-0000b128   esmHighInterrupt
-0000b26c   esmLowInterrupt
-0000b348   esmGroup1Notification
-0000b354   esmGroup2Notification
-0000b360   memoryPort0TestFailNotification
-0000b378   memoryPort1TestFailNotification
-0000b390   adcNotification
-0000b44c   canErrorNotification
-0000b470   canMessageNotification
-0000b4c8   sciNotification
-0000b520   adc1Group0Interrupt
-0000b56c   adc1Group1Interrupt
-0000b5ac   adc1Group2Interrupt
-0000b5f8   adc2Group0Interrupt
-0000b644   adc2Group1Interrupt
-0000b690   adc2Group2Interrupt
-0000b73c   cmd_io_puts
-0000b7d0   cmd_io_write_bychar
-0000b848   cmd_io_read_bychar
-0000b8cc   initCmdProc
-0000b9ec   processCmd
-0000ba4c   vPortStartFirstTask
-0000ba80   vPortYieldProcessor
-0000bb08   vPreemptiveTick
-0000bba4   vPortYield
-0000bbf4   cmd_processor_run
-0000bd08   pvPortMalloc
-0000bdb0   vPortFree
-0000bdc0   vPortInitialiseBlocks
-0000bdd0   xPortGetFreeHeapSize
-0000bdf0   _dabort
-0000beb1   __aeabi_memcpy
-0000beb1   __aeabi_memcpy4
-0000beb1   __aeabi_memcpy8
-0000beb1   memcpy
-0000bf4d   __aeabi_memclr
-0000bf4d   __aeabi_memclr4
-0000bf4d   __aeabi_memclr8
-0000bf4f   __aeabi_memset
-0000bf4f   __aeabi_memset4
-0000bf4f   __aeabi_memset8
-0000bf55   memset
-0000bfc4   main
-0000c08c   __aeabi_uidivmod
-0000c0e1   atoi
-0000c131   atol
-0000c181   copy_in
-0000c1cd   C$$EXIT
-0000c1d1   abort
-0000c1d9   exit
-0000c211   strncpy
-0000c241   strncmp
-0000c269   _register_unlock
-0000c26f   _register_lock
-0000c275   _nop
-0000c281   strchr
-0000c297   strlen
-0000c2ab   __TI_zero_init
-0000c2bd   isalnum
-0000c2cd   isdigit
-0000c2dd   isspace
-0000c2ed   strcpy
-0000c2fd   __TI_decompress_none
-0000c30b   __TI_decompress_rle24
-0000c310   phantomInterrupt
-0000c8bc   cmd_des_readadc1
-0000c8d4   cmd_des_testadcconnetion
-0000c8ec   cmd_des_testcanloopback
-0000c904   cmd_des_help
-0000c91c   cmd_des_val
-0000c934   cmd_des_valro
-0000c94c   cmd_des_valwo
-0000c964   cmd_des_opchar_test
-0000c97c   cmd_des_testio
-0000c994   cmd_des_error
-0000c9ac   cmd_des_param
-0000c9c4   cmd_des_opchar_testro
-0000c9dc   cmd_des_test
-0000c9f4   cmd_des_prefix
-0000ca0c   cmd_des_num
-0000ca24   cmd_des_char
-0000ca3c   cmd_des_charmid
-0000ca54   cmd_des_hiddedn
-0000ca94   _ctypes_
-0000cc6c   cmd_io_std_line
-0000cd30   __TI_Handler_Table_Base
-0000cd3c   __TI_Handler_Table_Limit
-0000cd48   __TI_CINIT_Base
-0000cd58   __TI_CINIT_Limit
+00005694   cmd_do_readMOUTValues
+00005754   cmd_do_readDINValues
+00005814   cmd_do_readADC1Values
+00005a20   cmd_do_readValues
+00005c34   cmd_do_setPin
+00005fd0   cmd_do_testADC1Connection
+00006284   cmd_do_testcanloopback
+000063cc   cmd_do_testopchar
+000064a0   cmd_do_testparam
+00006514   cmd_do_testerror
+00006530   cmd_do_test
+00006588   cmd_do_testcmdio
+00006748   xQueueCreate
+00006878   xQueueCreateMutex
+00006934   xQueueCreateCountingSemaphore
+00006970   xQueueGenericSend
+00006af8   xQueueGenericSendFromISR
+00006bc4   xQueueGenericReceive
+00006df0   xQueueReceiveFromISR
+00006ebc   uxQueueMessagesWaiting
+00006ee0   uxQueueMessagesWaitingFromISR
+00006f00   vQueueDelete
+000071ec   xQueueIsQueueEmptyFromISR
+00007258   xQueueIsQueueFullFromISR
+00007310   skip_white
+00007344   proc_cmd_line
+00007768   cmd_opchar_check
+000077e4   cmd_num_suffix
+000078b4   cmd_do_stamp
+00007938   cmd_do_rw_short
+000079d8   cmd_do_rw_int
+00007a78   cmd_do_rw_long
+00007b18   cmd_opchar_replong
+00007ba0   cmd_do_help
+00008475   _scanfi
+00008790   adcInit
+000088ac   adcStartConversion
+00008934   adcStopConversion
+0000895c   adcResetFiFo
+00008984   adcGetData
+00008b58   adcIsFifoFull
+00008b88   adcIsConversionComplete
+00008bb8   adcCalibration
+00008d94   adcMidPointCalibration
+00008f34   adcEnableNotification
+00008f84   adcDisableNotification
+00009008   hetInit
+000090c8   pwmStart
+000090fc   pwmStop
+00009130   pwmSetDuty
+0000926c   pwmSetSignal
+000093dc   pwmGetSignal
+000094d8   pwmEnableNotification
+00009520   pwmDisableNotification
+00009550   edgeResetCounter
+0000957c   edgeGetCounter
+000095a8   edgeEnableNotification
+000095e4   edgeDisableNotification
+00009624   capGetSignal
+00009718   hetResetTimestamp
+00009734   hetGetTimestamp
+00009794   mibspiInit
+000099b4   mibspiSetFunctional
+000099d4   mibspiSetData
+00009ad8   mibspiGetData
+00009c18   mibspiTransfer
+00009c48   mibspiIsTransferComplete
+00009c74   mibspiEnableLoopback
+00009ca8   mibspiDisableLoopback
+00009cc4   mibspiEnableGroupNotification
+00009d4c   mibspiDisableGroupNotification
+00009e28   pxPortInitialiseStack
+0000a308   xPortStartScheduler
+0000a31c   vPortEndScheduler
+0000a320   vPortEnterCritical
+0000a338   vPortExitCritical
+0000a460   _c_int00
+0000aa0c   sciInit
+0000aae0   sciSetFunctional
+0000ab00   sciSetBaudrate
+0000ab80   sciIsTxReady
+0000ab9c   sciSendByte
+0000abcc   sciSend
+0000ace0   sciIsRxReady
+0000acfc   sciRxError
+0000ad2c   sciReceiveByte
+0000ad54   sciReceive
+0000addc   sciEnableLoopback
+0000ae10   sciDisableLoopback
+0000ae2c   sciEnableNotification
+0000ae94   sciDisableNotification
+0000af4c   esmInit
+0000b078   esmError
+0000b094   esmEnableError
+0000b0c0   esmDisableError
+0000b0ec   esmTriggerErrorPinReset
+0000b0fc   esmActivateNormalOperation
+0000b10c   esmEnableInterrupt
+0000b138   esmDisableInterrupt
+0000b164   esmSetInterruptLevel
+0000b1e8   esmClearStatus
+0000b228   esmClearStatusBuffer
+0000b254   esmSetCounterPreloadValue
+0000b274   esmGetStatus
+0000b2d8   esmGetStatusBuffer
+0000b3f8   cmd_ed_line_buf
+0000b510   cmd_io_line_putc
+0000b530   cmd_io_line_out
+0000b628   cmd_io_line_in
+0000b700   cmd_io_line_rdline
+0000b754   initIoBuffer
+0000b7b4   print
+0000b7cc   read
+0000b7e4   genericRead
+0000b82c   genericPrint
+0000b96c   clearInputBuffer
+0000b97c   clearOutputBuffer
+0000b98c   clearBuffer
+0000b9d4   tisci_putc
+0000ba10   tisci_getc
+0000ba40   tisci_write
+0000ba80   tisci_read
+0000bb10   sciHighLevelInterrupt
+0000bca8   sciLowLevelInterrupt
+0000be94   _coreInitRegisters_
+0000bf94   _coreInitStackPointer_
+0000bfe0   _getCPSRValue_
+0000bfe8   _gotoCPUIdle_
+0000bffc   _coreEnableVfp_
+0000c014   _coreEnableEventBusExport_
+0000c02c   _coreDisableEventBusExport_
+0000c044   _coreEnableRamEcc_
+0000c05c   _coreDisableRamEcc_
+0000c074   _coreEnableFlashEcc_
+0000c090   _coreDisableFlashEcc_
+0000c0a8   _coreEnableIrqVicOffset_
+0000c0c0   _coreGetDataFault_
+0000c0c8   _coreClearDataFault_
+0000c0dc   _coreGetInstructionFault_
+0000c0e4   _coreClearInstructionFault_
+0000c0f8   _coreGetDataFaultAddress_
+0000c100   _coreClearDataFaultAddress_
+0000c114   _coreGetInstructionFaultAddress_
+0000c11c   _coreClearInstructionFaultAddress_
+0000c130   _coreGetAuxiliaryDataFault_
+0000c138   _coreClearAuxiliaryDataFault_
+0000c14c   _coreGetAuxiliaryInstructionFault_
+0000c154   _coreClearAuxiliaryInstructionFault_
+0000c168   _disable_interrupt_
+0000c170   _disable_FIQ_interrupt_
+0000c178   _disable_IRQ_interrupt_
+0000c180   _enable_interrupt_
+0000c188   _esmCcmErrorsClear_
+0000c210   __TI_PINIT_Base
+0000c214   __TI_PINIT_Limit
+0000c218   muxInit
+0000c524   setupPLL
+0000c558   trimLPO
+0000c5a0   setupFlash
+0000c5e0   periphInit
+0000c638   mapClocks
+0000c710   systemInit
+0000c79c   systemPowerDown
+0000c82c   can1HighLevelInterrupt
+0000c8e8   can1LowLevelInterrupt
+0000c984   can2HighLevelInterrupt
+0000ca40   can2LowLevelInterrupt
+0000cb0c   i2str
+0000cdc4   gioInit
+0000ce94   gioSetDirection
+0000ceb4   gioSetBit
+0000cf04   gioSetPort
+0000cf24   gioGetBit
+0000cf4c   gioGetPort
+0000cf64   gioToggleBit
+0000cfbc   gioEnableNotification
+0000cfe0   gioDisableNotification
+0000d048   vListInitialise
+0000d0a0   vListInitialiseItem
+0000d0bc   vListInsertEnd
+0000d140   vListInsert
+0000d204   vListRemove
+0000d288   esmGroup1Notification
+0000d294   esmGroup2Notification
+0000d2a0   memoryPort0TestFailNotification
+0000d2b8   memoryPort1TestFailNotification
+0000d2d0   adcNotification
+0000d38c   canErrorNotification
+0000d3b0   canMessageNotification
+0000d408   gioNotification
+0000d414   mibspiNotification
+0000d424   mibspiGroupNotification
+0000d434   sciNotification
+0000d470   pwmNotification
+0000d484   edgeNotification
+0000d494   hetNotification
+0000d4c0   esmHighInterrupt
+0000d604   esmLowInterrupt
+0000d6e1   __aeabi_uldivmod
+0000d8d5   strtod
+0000dab9   strtold
+0000dc99   strtoll
+0000de74   adc1Group0Interrupt
+0000dec0   adc1Group1Interrupt
+0000df00   adc1Group2Interrupt
+0000df4c   adc2Group0Interrupt
+0000df98   adc2Group1Interrupt
+0000dfe4   adc2Group2Interrupt
+0000e090   cmd_io_puts
+0000e124   cmd_io_write_bychar
+0000e19c   cmd_io_read_bychar
+0000e220   initCmdProc
+0000e340   processCmd
+0000e3a1   strtoull
+0000e51c   mibspi5HighLevelInterrupt
+0000e5cc   mibspi5LowLevelInterrupt
+0000e694   vPortStartFirstTask
+0000e6c8   vPortYieldProcessor
+0000e750   vPreemptiveTick
+0000e7ec   vPortYield
+0000e800   het1HighLevelInterrupt
+0000e8a8   het1LowLevelInterrupt
+0000e998   cmd_processor_run
+0000eaad   strtol
+0000ebdd   strtoul
+0000ecec   pvPortMalloc
+0000ed94   vPortFree
+0000eda4   vPortInitialiseBlocks
+0000edb4   xPortGetFreeHeapSize
+0000edd4   moutSetPort
+0000ee38   moutGetPort
+0000eeac   gioHighLevelInterrupt
+0000ef0c   gioLowLevelInterrupt
+0000ef74   _dabort
+0000f035   sscanf
+0000f0ed   __aeabi_memcpy
+0000f0ed   __aeabi_memcpy4
+0000f0ed   __aeabi_memcpy8
+0000f0ed   memcpy
+0000f189   __aeabi_memclr
+0000f189   __aeabi_memclr4
+0000f189   __aeabi_memclr8
+0000f18b   __aeabi_memset
+0000f18b   __aeabi_memset4
+0000f18b   __aeabi_memset8
+0000f191   memset
+0000f200   main
+0000f2d4   __aeabi_uidivmod
+0000f329   atoi
+0000f379   atol
+0000f3c9   copy_in
+0000f415   C$$EXIT
+0000f419   abort
+0000f421   exit
+0000f459   strtok
+0000f499   strncpy
+0000f4c8   dinSetPort
+0000f4e0   dinGetPort
+0000f4f5   strspn
+0000f51f   strncmp
+0000f545   strcspn
+0000f565   _register_unlock
+0000f56b   _register_lock
+0000f571   _nop
+0000f57d   __aeabi_lmul
+0000f595   strcmp
+0000f5ad   strrchr
+0000f5c5   strchr
+0000f5db   strlen
+0000f5ef   __TI_zero_init
+0000f601   isalnum
+0000f611   isdigit
+0000f621   isspace
+0000f631   strcpy
+0000f641   __TI_decompress_none
+0000f64f   __TI_decompress_rle24
+0000f654   phantomInterrupt
+0000fae4   het1PROGRAM
+00010088   cmd_des_setPin
+000100a0   cmd_des_read
+000100b8   cmd_des_testadcconnetion
+000100d0   cmd_des_testcanloopback
+000100e8   cmd_des_help
+00010100   cmd_des_val
+00010118   cmd_des_valro
+00010130   cmd_des_valwo
+00010148   cmd_des_opchar_test
+00010160   cmd_des_testio
+00010178   cmd_des_error
+00010190   cmd_des_param
+000101a8   cmd_des_opchar_testro
+000101c0   cmd_des_test
+000101d8   cmd_des_prefix
+000101f0   cmd_des_num
+00010208   cmd_des_char
+00010220   cmd_des_charmid
+00010238   cmd_des_hiddedn
+00010278   _ctypes_
+000105a4   cmd_io_std_line
+00010710   __TI_Handler_Table_Base
+0001071c   __TI_Handler_Table_Limit
+00010728   __TI_CINIT_Base
+00010738   __TI_CINIT_Limit
 0800555c   ed_line_in_std
 080055b0   ed_line_out_std
 08005608   g_sciTransfer
@@ -845,21 +1043,41 @@ address    name
 0800564c   val
 08005650   processCmdHandler
 08005654   prompt
-08005658   cmd_list_1
-08005670   cmd_list_2
-08005690   cmd_list
-08005694   ed_line_buf_in_std
-080056ac   ed_line_buf_out_std
-080056c4   pxCurrentTCB
-080056f4   cmd_list_main
-08005720   cmd_io_buf
-0800573c   _lock
-08005740   _unlock
-08005744   _cleanup_ptr
-08005748   _dtors_ptr
-08005750   ulCriticalNesting
+08005660   _Denorm
+08005670   _Eps
+08005680   _Hugeval
+08005690   _Inf
+080056a0   _Nan
+080056b0   _Snan
+080056c0   _Rteps
+080056d0   _Xbig
+080056d8   _Zero
+080056e0   _LDenorm
+080056f0   _LEps
+08005700   _LInf
+08005710   _LNan
+08005720   _LSnan
+08005730   _LRteps
+08005740   _LXbig
+08005748   _LZero
+08005750   cmd_list_1
+08005768   cmd_list_2
+08005788   cmd_list
+0800578c   cmd_list_main
+080057bc   ed_line_buf_in_std
+080057d4   ed_line_buf_out_std
+080057ec   moutPorts
+0800581c   pxCurrentTCB
+0800584c   cmd_io_buf
+08005868   moutBits
+08005874   _lock
+08005878   _unlock
+0800587c   _cleanup_ptr
+08005880   _dtors_ptr
+08005888   ulCriticalNesting
+0800588c   _Errno
 ffffffff   __binit__
 ffffffff   __c_args__
 ffffffff   binit
 
-[347 symbols]
+[438 symbols]
index 0d1142b34400c1308b1a32f25e9b45bb8213c9b4..72667d8ecf9cbd6d7d26db68aa27ebd78558e56d 100644 (file)
Binary files a/Debug/CmdProcTISCI.out and b/Debug/CmdProcTISCI.out differ
index 2affd12acb88bd461a6a4e264d993c860b7289dd..3cf225f60aaac1eea0d147c69edf48c84be2e35b 100644 (file)
@@ -1 +1 @@
-"./source/system.obj" "./source/sys_startup.obj" "./source/sys_selftest.obj" "./source/sys_pmu.obj" "./source/sys_phantom.obj" "./source/sys_mpu.obj" "./source/sys_main.obj" "./source/sys_intvecs.obj" "./source/sys_core.obj" "./source/sci.obj" "./source/pinmux.obj" "./source/os_timer.obj" "./source/os_tasks.obj" "./source/os_queue.obj" "./source/os_portasm.obj" "./source/os_port.obj" "./source/os_list.obj" "./source/os_heap.obj" "./source/os_croutine.obj" "./source/notification.obj" "./source/i2str.obj" "./source/esm.obj" "./source/dma.obj" "./source/dabort.obj" "./source/commands.obj" "./source/cmdio_tisci.obj" "./source/cmdio_std_line.obj" "./source/cmd_proc_run.obj" "./source/cmd_proc_freertos_tms570.obj" "./source/cmd_proc.obj" "./source/cmd_io_line.obj" "./source/cmd_io.obj" "./source/can.obj" "./source/adc.obj" -l"rtsv7R4_T_be_v3D16_eabi.lib" "../source/sys_link.cmd" 
\ No newline at end of file
+"./source/system.obj" "./source/sys_startup.obj" "./source/sys_selftest.obj" "./source/sys_pmu.obj" "./source/sys_phantom.obj" "./source/sys_mpu.obj" "./source/sys_main.obj" "./source/sys_intvecs.obj" "./source/sys_core.obj" "./source/sci.obj" "./source/pinmux.obj" "./source/os_timer.obj" "./source/os_tasks.obj" "./source/os_queue.obj" "./source/os_portasm.obj" "./source/os_port.obj" "./source/os_list.obj" "./source/os_heap.obj" "./source/os_croutine.obj" "./source/notification.obj" "./source/mout.obj" "./source/mibspi.obj" "./source/i2str.obj" "./source/het.obj" "./source/gio.obj" "./source/esm.obj" "./source/dma.obj" "./source/din.obj" "./source/dabort.obj" "./source/commands.obj" "./source/cmdio_tisci.obj" "./source/cmdio_std_line.obj" "./source/cmd_proc_run.obj" "./source/cmd_proc_freertos_tms570.obj" "./source/cmd_proc.obj" "./source/cmd_io_line.obj" "./source/cmd_io.obj" "./source/can.obj" "./source/adc.obj" -l"rtsv7R4_T_be_v3D16_eabi.lib" "../source/sys_link.cmd" 
\ No newline at end of file
index b509553b1310f21298af36c9751b041ccf30dd30..1e171c3ab357cb72b909cba64150374197737422 100644 (file)
@@ -26,9 +26,14 @@ $(GEN_CMDS__FLAG) \
 "./source/os_heap.obj" \
 "./source/os_croutine.obj" \
 "./source/notification.obj" \
+"./source/mout.obj" \
+"./source/mibspi.obj" \
 "./source/i2str.obj" \
+"./source/het.obj" \
+"./source/gio.obj" \
 "./source/esm.obj" \
 "./source/dma.obj" \
+"./source/din.obj" \
 "./source/dabort.obj" \
 "./source/commands.obj" \
 "./source/cmdio_tisci.obj" \
@@ -153,8 +158,8 @@ CmdProcTISCI.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
 # Other Targets
 clean:
        -$(RM) $(TMS470_EXECUTABLE_OUTPUTS__QUOTED) "CmdProcTISCI.out"
-       -$(RM) "source/adc.pp" "source/can.pp" "source/cmd_io.pp" "source/cmd_io_line.pp" "source/cmd_proc.pp" "source/cmd_proc_freertos_tms570.pp" "source/cmd_proc_run.pp" "source/cmdio_std_line.pp" "source/cmdio_tisci.pp" "source/commands.pp" "source/dma.pp" "source/esm.pp" "source/i2str.pp" "source/notification.pp" "source/os_croutine.pp" "source/os_heap.pp" "source/os_list.pp" "source/os_port.pp" "source/os_queue.pp" "source/os_tasks.pp" "source/os_timer.pp" "source/pinmux.pp" "source/sci.pp" "source/sys_main.pp" "source/sys_phantom.pp" "source/sys_selftest.pp" "source/sys_startup.pp" "source/system.pp" 
-       -$(RM) "source/adc.obj" "source/can.obj" "source/cmd_io.obj" "source/cmd_io_line.obj" "source/cmd_proc.obj" "source/cmd_proc_freertos_tms570.obj" "source/cmd_proc_run.obj" "source/cmdio_std_line.obj" "source/cmdio_tisci.obj" "source/commands.obj" "source/dabort.obj" "source/dma.obj" "source/esm.obj" "source/i2str.obj" "source/notification.obj" "source/os_croutine.obj" "source/os_heap.obj" "source/os_list.obj" "source/os_port.obj" "source/os_portasm.obj" "source/os_queue.obj" "source/os_tasks.obj" "source/os_timer.obj" "source/pinmux.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_phantom.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/system.obj" 
+       -$(RM) "source/adc.pp" "source/can.pp" "source/cmd_io.pp" "source/cmd_io_line.pp" "source/cmd_proc.pp" "source/cmd_proc_freertos_tms570.pp" "source/cmd_proc_run.pp" "source/cmdio_std_line.pp" "source/cmdio_tisci.pp" "source/commands.pp" "source/din.pp" "source/dma.pp" "source/esm.pp" "source/gio.pp" "source/het.pp" "source/i2str.pp" "source/mibspi.pp" "source/mout.pp" "source/notification.pp" "source/os_croutine.pp" "source/os_heap.pp" "source/os_list.pp" "source/os_port.pp" "source/os_queue.pp" "source/os_tasks.pp" "source/os_timer.pp" "source/pinmux.pp" "source/sci.pp" "source/sys_main.pp" "source/sys_phantom.pp" "source/sys_selftest.pp" "source/sys_startup.pp" "source/system.pp" 
+       -$(RM) "source/adc.obj" "source/can.obj" "source/cmd_io.obj" "source/cmd_io_line.obj" "source/cmd_proc.obj" "source/cmd_proc_freertos_tms570.obj" "source/cmd_proc_run.obj" "source/cmdio_std_line.obj" "source/cmdio_tisci.obj" "source/commands.obj" "source/dabort.obj" "source/din.obj" "source/dma.obj" "source/esm.obj" "source/gio.obj" "source/het.obj" "source/i2str.obj" "source/mibspi.obj" "source/mout.obj" "source/notification.obj" "source/os_croutine.obj" "source/os_heap.obj" "source/os_list.obj" "source/os_port.obj" "source/os_portasm.obj" "source/os_queue.obj" "source/os_tasks.obj" "source/os_timer.obj" "source/pinmux.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_phantom.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/system.obj" 
        -$(RM) "source/dabort.pp" "source/os_portasm.pp" "source/sys_core.pp" "source/sys_intvecs.pp" "source/sys_mpu.pp" "source/sys_pmu.pp" 
        -@echo 'Finished clean'
        -@echo ' '
index 2ccc43684976ba85f79a607647699ead56ee8c77..f085e357e3e5d3f8c522d6ee51fb5b3f06439d23 100644 (file)
Binary files a/Debug/source/adc.obj and b/Debug/source/adc.obj differ
index a0320c34a61d5f13e67b7cd47c52e0f408258b7a..558972884c6752d11404a8980287f8a43dbe2295 100644 (file)
Binary files a/Debug/source/can.obj and b/Debug/source/can.obj differ
index e83e4708dd5947073eeeae5e936483eebeeac474..b4200d8eeed698e2e7f3967fc9826f2fc0b1be77 100644 (file)
@@ -1 +1 @@
-"../source/adc.c" "../source/can.c" "../source/cmd_io.c" "../source/cmd_io_line.c" "../source/cmd_proc.c" "../source/cmd_proc_freertos_tms570.c" "../source/cmd_proc_run.c" "../source/cmdio_std_line.c" "../source/cmdio_tisci.c" "../source/commands.c" "../source/dabort.asm" "../source/dma.c" "../source/esm.c" "../source/i2str.c" "../source/notification.c" "../source/os_croutine.c" "../source/os_heap.c" "../source/os_list.c" "../source/os_port.c" "../source/os_portasm.asm" "../source/os_queue.c" "../source/os_tasks.c" "../source/os_timer.c" "../source/pinmux.c" "../source/sci.c" "../source/sys_core.asm" "../source/sys_intvecs.asm" "../source/sys_main.c" "../source/sys_mpu.asm" "../source/sys_phantom.c" "../source/sys_pmu.asm" "../source/sys_selftest.c" "../source/sys_startup.c" "../source/system.c" 
\ No newline at end of file
+"../source/adc.c" "../source/can.c" "../source/cmd_io.c" "../source/cmd_io_line.c" "../source/cmd_proc.c" "../source/cmd_proc_freertos_tms570.c" "../source/cmd_proc_run.c" "../source/cmdio_std_line.c" "../source/cmdio_tisci.c" "../source/commands.c" "../source/dabort.asm" "../source/din.c" "../source/dma.c" "../source/esm.c" "../source/gio.c" "../source/het.c" "../source/i2str.c" "../source/mibspi.c" "../source/mout.c" "../source/notification.c" "../source/os_croutine.c" "../source/os_heap.c" "../source/os_list.c" "../source/os_port.c" "../source/os_portasm.asm" "../source/os_queue.c" "../source/os_tasks.c" "../source/os_timer.c" "../source/pinmux.c" "../source/sci.c" "../source/sys_core.asm" "../source/sys_intvecs.asm" "../source/sys_main.c" "../source/sys_mpu.asm" "../source/sys_phantom.c" "../source/sys_pmu.asm" "../source/sys_selftest.c" "../source/sys_startup.c" "../source/system.c" 
\ No newline at end of file
index a32e795e1cef661e1764f9b5e768ca90cbe048f0..cba48f1b5074d51d23eb544f315f25a8599f2d08 100644 (file)
Binary files a/Debug/source/cmd_io.obj and b/Debug/source/cmd_io.obj differ
index f7095dab12a735ea19552ec361b798cede71b474..80f4b23bce791a78ebd6c5dbd87457e87a4d1baf 100644 (file)
Binary files a/Debug/source/cmd_io_line.obj and b/Debug/source/cmd_io_line.obj differ
index e34f8dbb46c813c4b075b36b0510af9757bc5040..e2f7285c0aea580ffc18a210291cd4452cb96e10 100644 (file)
Binary files a/Debug/source/cmd_proc.obj and b/Debug/source/cmd_proc.obj differ
index 3596c381fd4cbd804dc3c9fda71b6bdfa3c9c44b..8316723120f57dc2197edd19eec140f7014ba226 100644 (file)
Binary files a/Debug/source/cmd_proc_freertos_tms570.obj and b/Debug/source/cmd_proc_freertos_tms570.obj differ
index 29a0238585c3ab9005956064a651c4e464df30a5..e7743e9e9577ceaaf7a644c54ddafc0087b97661 100644 (file)
Binary files a/Debug/source/cmd_proc_run.obj and b/Debug/source/cmd_proc_run.obj differ
index 094991118e2a62ec2bf498142f2b75a8d7676f8b..3e12debae4a192d6ecf15f2e4af14f7278ed84f2 100644 (file)
Binary files a/Debug/source/cmdio_std_line.obj and b/Debug/source/cmdio_std_line.obj differ
index 27ed179f7202327305cfd926576cb01993929fcf..532b5fa87b53a7fab182de6d0896890949fe4531 100644 (file)
Binary files a/Debug/source/cmdio_tisci.obj and b/Debug/source/cmdio_tisci.obj differ
index 8c0746518723c6474f5a2c10b6e88f57e156652d..12fc7d604af1f00750f2e5c227b83b3dcb85fe3a 100644 (file)
Binary files a/Debug/source/commands.obj and b/Debug/source/commands.obj differ
index b96655d4c2e3ba14b3a5ac02842f45128fbb8e2f..213b47c456816e4382f5388cc5a3106c7017b5ff 100644 (file)
@@ -24,6 +24,15 @@ source/commands.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/stdio.h
 source/commands.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/stdarg.h
 source/commands.obj: ../include/can.h
 source/commands.obj: ../include/adc.h
+source/commands.obj: ../include/din.h
+source/commands.obj: ../include/gio.h
+source/commands.obj: ../include/mout.h
+source/commands.obj: ../include/gio.h
+source/commands.obj: ../include/het.h
+source/commands.obj: ../include/gio.h
+source/commands.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
+source/commands.obj: ../include/mibspi.h
+source/commands.obj: ../include/gio.h
 
 ../source/commands.c: 
 ../include/cmd_proc.h: 
@@ -49,3 +58,12 @@ source/commands.obj: ../include/adc.h
 /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/stdarg.h: 
 ../include/can.h: 
 ../include/adc.h: 
+../include/din.h: 
+../include/gio.h: 
+../include/mout.h: 
+../include/gio.h: 
+../include/het.h: 
+../include/gio.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h: 
+../include/mibspi.h: 
+../include/gio.h: 
diff --git a/Debug/source/din.obj b/Debug/source/din.obj
new file mode 100644 (file)
index 0000000..269c740
Binary files /dev/null and b/Debug/source/din.obj differ
diff --git a/Debug/source/din.pp b/Debug/source/din.pp
new file mode 100644 (file)
index 0000000..26a5454
--- /dev/null
@@ -0,0 +1,11 @@
+# FIXED
+
+source/din.obj: ../source/din.c
+source/din.obj: ../include/din.h
+source/din.obj: ../include/gio.h
+source/din.obj: ../include/sys_common.h
+
+../source/din.c: 
+../include/din.h: 
+../include/gio.h: 
+../include/sys_common.h: 
index 12654044eb5dc9ce949766646b58f2e09a954b4c..38272db665b4f9570a178e68880c6ccb0c4a3137 100644 (file)
Binary files a/Debug/source/dma.obj and b/Debug/source/dma.obj differ
diff --git a/Debug/source/dmm.obj b/Debug/source/dmm.obj
new file mode 100644 (file)
index 0000000..aabd3aa
Binary files /dev/null and b/Debug/source/dmm.obj differ
diff --git a/Debug/source/dmm.pp b/Debug/source/dmm.pp
new file mode 100644 (file)
index 0000000..43fd469
--- /dev/null
@@ -0,0 +1,11 @@
+# FIXED
+
+source/dmm.obj: ../source/dmm.c
+source/dmm.obj: ../include/dmm.h
+source/dmm.obj: ../include/sys_common.h
+source/dmm.obj: ../include/gio.h
+
+../source/dmm.c: 
+../include/dmm.h: 
+../include/sys_common.h: 
+../include/gio.h: 
index 206fabbdc461f68bc11962f436a5e916ce0ee8da..361e26671041ce4fa213337a86be0919e49e93bd 100644 (file)
Binary files a/Debug/source/esm.obj and b/Debug/source/esm.obj differ
diff --git a/Debug/source/gio.obj b/Debug/source/gio.obj
new file mode 100644 (file)
index 0000000..586ee74
Binary files /dev/null and b/Debug/source/gio.obj differ
diff --git a/Debug/source/gio.pp b/Debug/source/gio.pp
new file mode 100644 (file)
index 0000000..6992e21
--- /dev/null
@@ -0,0 +1,9 @@
+# FIXED
+
+source/gio.obj: ../source/gio.c
+source/gio.obj: ../include/gio.h
+source/gio.obj: ../include/sys_common.h
+
+../source/gio.c: 
+../include/gio.h: 
+../include/sys_common.h: 
diff --git a/Debug/source/het.obj b/Debug/source/het.obj
new file mode 100644 (file)
index 0000000..d2e06a8
Binary files /dev/null and b/Debug/source/het.obj differ
diff --git a/Debug/source/het.pp b/Debug/source/het.pp
new file mode 100644 (file)
index 0000000..e4981d2
--- /dev/null
@@ -0,0 +1,15 @@
+# FIXED
+
+source/het.obj: ../source/het.c
+source/het.obj: ../include/het.h
+source/het.obj: ../include/sys_common.h
+source/het.obj: ../include/gio.h
+source/het.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
+source/het.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h
+
+../source/het.c: 
+../include/het.h: 
+../include/sys_common.h: 
+../include/gio.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h: 
index b4ff477d0cfdd867ef87e67bcfd1c629cbab3e64..7a102de78ac78063d300529e3d16cd83091ca4f5 100644 (file)
Binary files a/Debug/source/i2str.obj and b/Debug/source/i2str.obj differ
diff --git a/Debug/source/mibspi.obj b/Debug/source/mibspi.obj
new file mode 100644 (file)
index 0000000..e433497
Binary files /dev/null and b/Debug/source/mibspi.obj differ
diff --git a/Debug/source/mibspi.pp b/Debug/source/mibspi.pp
new file mode 100644 (file)
index 0000000..6804be5
--- /dev/null
@@ -0,0 +1,11 @@
+# FIXED
+
+source/mibspi.obj: ../source/mibspi.c
+source/mibspi.obj: ../include/mibspi.h
+source/mibspi.obj: ../include/sys_common.h
+source/mibspi.obj: ../include/gio.h
+
+../source/mibspi.c: 
+../include/mibspi.h: 
+../include/sys_common.h: 
+../include/gio.h: 
diff --git a/Debug/source/mout.obj b/Debug/source/mout.obj
new file mode 100644 (file)
index 0000000..b3ec369
Binary files /dev/null and b/Debug/source/mout.obj differ
diff --git a/Debug/source/mout.pp b/Debug/source/mout.pp
new file mode 100644 (file)
index 0000000..ec1b012
--- /dev/null
@@ -0,0 +1,23 @@
+# FIXED
+
+source/mout.obj: ../source/mout.c
+source/mout.obj: ../include/mout.h
+source/mout.obj: ../include/gio.h
+source/mout.obj: ../include/sys_common.h
+source/mout.obj: ../include/het.h
+source/mout.obj: ../include/gio.h
+source/mout.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
+source/mout.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h
+source/mout.obj: ../include/mibspi.h
+source/mout.obj: ../include/gio.h
+
+../source/mout.c: 
+../include/mout.h: 
+../include/gio.h: 
+../include/sys_common.h: 
+../include/het.h: 
+../include/gio.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h: 
+../include/mibspi.h: 
+../include/gio.h: 
index 7b772504b4f53411e2707d21b8139b13179349bf..393fbc05e6b4654dd4700f8aee398f82af844635 100644 (file)
Binary files a/Debug/source/notification.obj and b/Debug/source/notification.obj differ
index 544a4950a5433b67f63fc69cf6e9ea820c815c6c..97bec16a79376a3ec709c86c7fe0f7b492ad51e8 100644 (file)
@@ -19,6 +19,7 @@ source/notification.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linka
 source/notification.obj: ../include/htu.h
 source/notification.obj: ../include/adc.h
 source/notification.obj: ../include/can.h
+source/notification.obj: ../include/gio.h
 source/notification.obj: ../include/sci.h
 source/notification.obj: ../include/gio.h
 source/notification.obj: ../include/FreeRTOS.h
@@ -52,6 +53,7 @@ source/notification.obj: ../include/os_list.h
 ../include/htu.h: 
 ../include/adc.h: 
 ../include/can.h: 
+../include/gio.h: 
 ../include/sci.h: 
 ../include/gio.h: 
 ../include/FreeRTOS.h: 
index d74909f9ad42b0362c01ad3bbafd7bd2c943c5b6..e7b943eb33e99be51321f69e1aa235e71fae13c3 100644 (file)
Binary files a/Debug/source/os_croutine.obj and b/Debug/source/os_croutine.obj differ
index ee4d67cae8d44cdb2571668eaacc3eadaae0ca48..5b2f66c4577924c7b1a93782bd127bca7e248505 100644 (file)
Binary files a/Debug/source/os_heap.obj and b/Debug/source/os_heap.obj differ
index 855963628cc63c06b30793ca6563112c59eb1763..ff23479b206e50d1c02fa3d7d0a5f7e19f029f61 100644 (file)
Binary files a/Debug/source/os_list.obj and b/Debug/source/os_list.obj differ
index e6df8267605ecd0a06798adb6df4b2a34c7e89a3..9f4c5e1d9661969860e89e89857dc34b0ff1d7ad 100644 (file)
Binary files a/Debug/source/os_port.obj and b/Debug/source/os_port.obj differ
index b204945ceb0578c7e24dc847db2f9a09a2fe0e15..41cab6342f06285e490e4a2334c376af7db61deb 100644 (file)
Binary files a/Debug/source/os_queue.obj and b/Debug/source/os_queue.obj differ
index 4525ee91b3c918f2ab160b257da6bbdf44ec86e2..98a8be8722ffccd510da92a91568866f2363745a 100644 (file)
Binary files a/Debug/source/os_tasks.obj and b/Debug/source/os_tasks.obj differ
index 5c3ee4b6dce70d64a970f6c50c314104c726c62c..fa9899de36573bde46dd9187993d2bd65a326346 100644 (file)
Binary files a/Debug/source/os_timer.obj and b/Debug/source/os_timer.obj differ
index 8a37ccf448fb7ea903163d46650720b1f7cd9e1d..760619e1481775751599a599633345916c7197c1 100644 (file)
Binary files a/Debug/source/pinmux.obj and b/Debug/source/pinmux.obj differ
index 22dfda0a3d3a3757e5e403c3d36836ad96e48ed7..be669c26af9b3a805ec1ba7387afeaa49e0884c8 100644 (file)
Binary files a/Debug/source/sci.obj and b/Debug/source/sci.obj differ
index 8a34c5aaa97c376edc8cef2e1c049002ebd71f00..f257daff1192970e93e48c49382caf537c1c11cf 100644 (file)
@@ -80,6 +80,13 @@ source/dabort.obj: ../source/dabort.asm $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Finished building: $<'
        @echo ' '
 
+source/din.obj: ../source/din.c $(GEN_OPTS) $(GEN_SRCS)
+       @echo 'Building file: $<'
+       @echo 'Invoking: ARM Compiler'
+       "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/din.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+       @echo 'Finished building: $<'
+       @echo ' '
+
 source/dma.obj: ../source/dma.c $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Building file: $<'
        @echo 'Invoking: ARM Compiler'
@@ -94,6 +101,20 @@ source/esm.obj: ../source/esm.c $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Finished building: $<'
        @echo ' '
 
+source/gio.obj: ../source/gio.c $(GEN_OPTS) $(GEN_SRCS)
+       @echo 'Building file: $<'
+       @echo 'Invoking: ARM Compiler'
+       "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/gio.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+       @echo 'Finished building: $<'
+       @echo ' '
+
+source/het.obj: ../source/het.c $(GEN_OPTS) $(GEN_SRCS)
+       @echo 'Building file: $<'
+       @echo 'Invoking: ARM Compiler'
+       "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/het.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+       @echo 'Finished building: $<'
+       @echo ' '
+
 source/i2str.obj: ../source/i2str.c $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Building file: $<'
        @echo 'Invoking: ARM Compiler'
@@ -101,6 +122,20 @@ source/i2str.obj: ../source/i2str.c $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Finished building: $<'
        @echo ' '
 
+source/mibspi.obj: ../source/mibspi.c $(GEN_OPTS) $(GEN_SRCS)
+       @echo 'Building file: $<'
+       @echo 'Invoking: ARM Compiler'
+       "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/mibspi.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+       @echo 'Finished building: $<'
+       @echo ' '
+
+source/mout.obj: ../source/mout.c $(GEN_OPTS) $(GEN_SRCS)
+       @echo 'Building file: $<'
+       @echo 'Invoking: ARM Compiler'
+       "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/mout.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+       @echo 'Finished building: $<'
+       @echo ' '
+
 source/notification.obj: ../source/notification.c $(GEN_OPTS) $(GEN_SRCS)
        @echo 'Building file: $<'
        @echo 'Invoking: ARM Compiler'
index 2033c463b28d2034fddb99fe41da21efcf6dabd8..30f0f40e6d6a3353d8a0f475b34194ebc05f832e 100644 (file)
@@ -25,9 +25,14 @@ C_SRCS += \
 ../source/cmdio_std_line.c \
 ../source/cmdio_tisci.c \
 ../source/commands.c \
+../source/din.c \
 ../source/dma.c \
 ../source/esm.c \
+../source/gio.c \
+../source/het.c \
 ../source/i2str.c \
+../source/mibspi.c \
+../source/mout.c \
 ../source/notification.c \
 ../source/os_croutine.c \
 ../source/os_heap.c \
@@ -56,9 +61,14 @@ OBJS += \
 ./source/cmdio_tisci.obj \
 ./source/commands.obj \
 ./source/dabort.obj \
+./source/din.obj \
 ./source/dma.obj \
 ./source/esm.obj \
+./source/gio.obj \
+./source/het.obj \
 ./source/i2str.obj \
+./source/mibspi.obj \
+./source/mout.obj \
 ./source/notification.obj \
 ./source/os_croutine.obj \
 ./source/os_heap.obj \
@@ -99,9 +109,14 @@ C_DEPS += \
 ./source/cmdio_std_line.pp \
 ./source/cmdio_tisci.pp \
 ./source/commands.pp \
+./source/din.pp \
 ./source/dma.pp \
 ./source/esm.pp \
+./source/gio.pp \
+./source/het.pp \
 ./source/i2str.pp \
+./source/mibspi.pp \
+./source/mout.pp \
 ./source/notification.pp \
 ./source/os_croutine.pp \
 ./source/os_heap.pp \
@@ -129,9 +144,14 @@ C_DEPS__QUOTED += \
 "source/cmdio_std_line.pp" \
 "source/cmdio_tisci.pp" \
 "source/commands.pp" \
+"source/din.pp" \
 "source/dma.pp" \
 "source/esm.pp" \
+"source/gio.pp" \
+"source/het.pp" \
 "source/i2str.pp" \
+"source/mibspi.pp" \
+"source/mout.pp" \
 "source/notification.pp" \
 "source/os_croutine.pp" \
 "source/os_heap.pp" \
@@ -160,9 +180,14 @@ OBJS__QUOTED += \
 "source/cmdio_tisci.obj" \
 "source/commands.obj" \
 "source/dabort.obj" \
+"source/din.obj" \
 "source/dma.obj" \
 "source/esm.obj" \
+"source/gio.obj" \
+"source/het.obj" \
 "source/i2str.obj" \
+"source/mibspi.obj" \
+"source/mout.obj" \
 "source/notification.obj" \
 "source/os_croutine.obj" \
 "source/os_heap.obj" \
@@ -203,9 +228,14 @@ C_SRCS__QUOTED += \
 "../source/cmdio_std_line.c" \
 "../source/cmdio_tisci.c" \
 "../source/commands.c" \
+"../source/din.c" \
 "../source/dma.c" \
 "../source/esm.c" \
+"../source/gio.c" \
+"../source/het.c" \
 "../source/i2str.c" \
+"../source/mibspi.c" \
+"../source/mout.c" \
 "../source/notification.c" \
 "../source/os_croutine.c" \
 "../source/os_heap.c" \
index 1e1878e03c3138123f1a3be6c00fccb890cf880e..202fb73dc167f3e2733a7d647a5800c9e7b9d0b8 100644 (file)
Binary files a/Debug/source/sys_main.obj and b/Debug/source/sys_main.obj differ
index 6033f6e53703e88562428c21834929ff7cfc3903..aae2bf1a86b0192aa3fb48d863296a5ac1794d9c 100644 (file)
@@ -23,8 +23,14 @@ source/sys_main.obj: ../include/os_task.h
 source/sys_main.obj: ../include/os_list.h
 source/sys_main.obj: ../include/sci.h
 source/sys_main.obj: ../include/gio.h
+source/sys_main.obj: ../include/mibspi.h
+source/sys_main.obj: ../include/gio.h
 source/sys_main.obj: ../include/can.h
 source/sys_main.obj: ../include/adc.h
+source/sys_main.obj: ../include/gio.h
+source/sys_main.obj: ../include/het.h
+source/sys_main.obj: ../include/gio.h
+source/sys_main.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
 
 ../source/sys_main.c: 
 ../include/sys_common.h: 
@@ -49,5 +55,11 @@ source/sys_main.obj: ../include/adc.h
 ../include/os_list.h: 
 ../include/sci.h: 
 ../include/gio.h: 
+../include/mibspi.h: 
+../include/gio.h: 
 ../include/can.h: 
 ../include/adc.h: 
+../include/gio.h: 
+../include/het.h: 
+../include/gio.h: 
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h: 
index 4e257b50f799a35b863088ce5952a94b770d835d..171e04e404d254e7206e396d9e07d924b1606486 100644 (file)
Binary files a/Debug/source/sys_phantom.obj and b/Debug/source/sys_phantom.obj differ
index 624fa6c6294ce4d0d82ed9d187f25defa0c413dd..f7b06b2c02558731d5323e97375deca25309e3fc 100644 (file)
Binary files a/Debug/source/sys_selftest.obj and b/Debug/source/sys_selftest.obj differ
index 9e25c93e7a709e8843435222de8807edbd79d699..26d6ad8d2e7e79a933ac57e714b22d800c099b5c 100644 (file)
Binary files a/Debug/source/sys_startup.obj and b/Debug/source/sys_startup.obj differ
index 4f979810699b7b629ae3cecdbb5137802b874936..03b960184907159bb25d6a7d58d5725a3124891c 100644 (file)
Binary files a/Debug/source/system.obj and b/Debug/source/system.obj differ
diff --git a/include/din.h b/include/din.h
new file mode 100644 (file)
index 0000000..433c2a9
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * din.h
+ *
+ *  Created on: 29.8.2012
+ *      Author: Michal Horn
+ */
+
+#ifndef DIN_H_
+#define DIN_H_
+
+#include "gio.h"
+
+#define DINGetBit( port, bit ) gioGetBit(port, bit)
+#define DINSetBit( port, bit, value ) gioSetBit(port, bit, value)
+
+#define DIN_PORT gioPORTA
+
+#define DIN8_BIT 0
+#define DIN9_BIT 1
+#define DIN10_BIT 2
+#define DIN11_BIT 3
+#define DIN12_BIT 4
+#define DIN13_BIT 5
+#define DIN14_BIT 6
+#define DIN15_BIT 7
+
+#define DIN8   DIN_PORT,DIN8_BIT
+#define DIN9   DIN_PORT,DIN9_BIT
+#define DIN10  DIN_PORT,DIN10_BIT
+#define DIN11  DIN_PORT,DIN11_BIT
+#define DIN12  DIN_PORT,DIN12_BIT
+#define DIN13  DIN_PORT,DIN13_BIT
+#define DIN14  DIN_PORT,DIN14_BIT
+#define DIN15  DIN_PORT,DIN15_BIT
+
+void dinSetPort(uint32_t value);
+uint32_t dinGetPort();
+
+
+#endif /* DIN_H_ */
diff --git a/include/mout.h b/include/mout.h
new file mode 100644 (file)
index 0000000..9ab5e9b
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * mout.h
+ *
+ *  Created on: 29.8.2012
+ *      Author: Michal Horn
+ */
+
+#ifndef MOUT_H_
+#define MOUT_H_
+
+#include "gio.h"
+#include "het.h"
+#include "mibspi.h"
+
+#define MOUTGetBit( port, bit ) gioGetBit(port, bit)
+#define MOUTSetBit( port, bit, value ) gioSetBit(port, bit, value)
+
+
+#define MOUT_PORT_GIO  gioPORTB
+#define MOUT_PORT_SPI  mibspiPORT5
+#define         MOUT_PORT_HET  hetPORT1
+
+#define MOUT6_EN_BIT   0
+#define MOUT5_EN_BIT   1
+#define MOUT6_IN_BIT   2
+#define MOUT5_IN_BIT   3
+#define MOUT4_EN_BIT   4
+#define MOUT3_EN_BIT   5
+#define MOUT4_IN_BIT   6
+#define MOUT3_IN_BIT   7
+#define MOUT2_EN_BIT   PIN_SIMO_2
+#define MOUT1_EN_BIT   PIN_SIMO_1
+#define MOUT2_IN_BIT   PIN_HET_14
+#define MOUT1_IN_BIT   PIN_HET_9
+
+#define MOUT6_EN       MOUT_PORT_GIO,MOUT6_EN_BIT
+#define MOUT5_EN       MOUT_PORT_GIO,MOUT5_EN_BIT
+#define MOUT6_IN       MOUT_PORT_GIO,MOUT6_IN_BIT
+#define MOUT5_IN       MOUT_PORT_GIO,MOUT5_IN_BIT
+#define MOUT4_EN       MOUT_PORT_GIO,MOUT4_EN_BIT
+#define MOUT3_EN       MOUT_PORT_GIO,MOUT3_EN_BIT
+#define MOUT4_IN       MOUT_PORT_GIO,MOUT4_IN_BIT
+#define MOUT3_IN       MOUT_PORT_GIO,MOUT3_IN_BIT
+#define MOUT2_EN       MOUT_PORT_DMM,MOUT2_EN_BIT
+#define MOUT1_EN       MOUT_PORT_DMM,MOUT1_EN_BIT
+#define MOUT2_IN       MOUT_PORT_HET,MOUT2_IN_BIT
+#define MOUT1_IN       MOUT_PORT_HET,MOUT1_IN_BIT
+
+void moutSetPort(uint32_t value);
+uint32_t moutGetPort();
+
+
+#endif /* MOUT_H_ */
index 74b19503511f9f4aaa117dbdca2f804acc271a21..fce877e4962e2c02a8741dbe043dc05b5680a40d 100644 (file)
@@ -867,6 +867,7 @@ void adc1Group0Interrupt(void)
 void adc1Group1Interrupt(void)\r
 {\r
 /* USER CODE BEGIN (49) */\r
+       // Delete generated content after user code block!!!\r
     adcNotification(adcREG1, adcGROUP1);\r
 /* USER CODE END */\r
 \r
index dc80ba5f77c608e612603c3dd68f6d254970c64a..5530a0535d848a8743466065e919f458acd229ce 100644 (file)
@@ -15,6 +15,8 @@
 #include "stdio.h"
 #include "can.h"
 #include "adc.h"
+#include "din.h"
+#include "mout.h"
 
 #define ADC1_CHANNEL_COUNT     12
 
@@ -24,11 +26,58 @@ xSemaphoreHandle canMsgReceived;
 xSemaphoreHandle adcDataConverted;
 ADCData_t adc1Data;
 
+extern gioPORT_t * dinPorts[8];
+extern gioPORT_t * moutPorts[12];
+extern uint8_t dinBits[8];
+extern uint8_t moutBits[12];
 
 /* ------------------------------
  * User defined command functions
  * ------------------------------
  */
+int cmd_do_readMOUTValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+       print((uint8_t *)"\r\nValues from MOUT port:");
+       uint32_t portVal = moutGetPort();
+       print((uint8_t *)"\r\npin\t|\tvalue");
+       uint8_t i;
+       for (i = 6, portVal>>6; i < 12; i++, portVal>>1) {
+               uint8_t bit = portVal&1;
+               char numBuf[2];
+               i2str(numBuf, i-5, 1, 10);
+               print((uint8_t *)"\r\n");
+               print((uint8_t *)numBuf);
+               print((uint8_t *)"\t|\t");
+               if (bit) {
+                       print((uint8_t *)"1");
+               }
+               else {
+                       print((uint8_t *)"0");
+               }
+       }
+       return 0;
+}
+int cmd_do_readDINValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+       print((uint8_t *)"\r\nValues from DIN port:");
+       uint32_t portVal = dinGetPort();
+       print((uint8_t *)"\r\npin\t|\tvalue");
+       uint8_t i;
+       for (i = 0; i < 8; i++,portVal>>1) {
+               uint8_t bit = portVal&1;
+               print((uint8_t *)"\r\n");
+               char numBuf[1];
+               i2str(numBuf, i+8, 1, 10);
+               print((uint8_t *)numBuf);
+               print((uint8_t *)"\t|\t");
+               if (bit) {
+                       print((uint8_t *)"1");
+               }
+               else {
+                       print((uint8_t *)"0");
+               }
+       }
+       return 0;
+}
+
 int cmd_do_readADC1Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 {
        char numBuf[4];                                 // Buffer used for i2str conversion
@@ -67,8 +116,8 @@ int cmd_do_readADC1Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *par
        print((uint8_t *)"\tvalue: ");
        i2str(numBuf, adc1Data.adc_data[i].value, 1, 10);
        print((uint8_t *)numBuf);
-       print((uint8_t *)" (0x");
-       i2str(numBuf, adc1Data.adc_data[i].value, 3, 16);
+       print((uint8_t *)" 0x");
+       i2str(numBuf, adc1Data.adc_data[i].value, 1, 16);
        print((uint8_t *)numBuf);
     }
 
@@ -77,6 +126,99 @@ int cmd_do_readADC1Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *par
        return 0;
 }
 
+int cmd_do_readValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+       uint32_t suffix = 100;
+       int ret;
+       char* token = NULL;
+       if ((token = strtok(param[1], " ")) == NULL) {
+               print((uint8_t *)"ERROR: No suffix! MOUT Expected.");
+               return 1;
+       }
+
+       if (!strcmp(token, "ADC1"))
+               suffix = 1;
+       else if (!strcmp(token, "DIN"))
+               suffix = 2;
+       else if (!strcmp(token, "MOUT"))
+               suffix = 3;
+       else {
+               print((uint8_t *)"ERROR: Wrong suffix!");
+               return 1;
+       }
+       switch(suffix) {
+       case 1:
+               ret = cmd_do_readADC1Values(cmd_io, des, param);
+               break;
+       case 2:
+               ret = cmd_do_readDINValues(cmd_io, des, param);
+               break;
+       case 3:
+               ret = cmd_do_readMOUTValues(cmd_io, des, param);
+               break;
+       }
+
+       return ret;
+}
+
+int cmd_do_setPin(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+       void (*setBit)(gioPORT_t *, uint32_t, uint32_t) = NULL;
+       gioPORT_t * port = NULL;
+       char* token = NULL;
+       uint32_t pin;
+       uint32_t bit;
+       uint32_t value;
+       uint32_t postfix = 100;
+       if ((token = strtok(param[1], " ")) == NULL) {
+               print((uint8_t *)"ERROR: No suffix! MOUT Expected.");
+               return 1;
+       }
+
+       if (!strcmp(token, "MOUT"))
+               postfix = 1;
+       else {
+               print((uint8_t *)"ERROR: Wrong suffix!");
+               return 1;
+       }
+       if ((token = strtok(param[2], " ")) == NULL) {
+               print((uint8_t *)"ERROR: Parameter 1 expected.");
+               return 1;
+       }
+       if (EOF == sscanf(token, "%d", &pin)){
+               print((uint8_t *)"ERROR: unsigned number expected as param 1!");
+               return 1;
+       }
+       if ((token = strtok(NULL, " ")) == NULL) {
+               print((uint8_t *)"ERROR: Parameter 2 expected.");
+               return 1;
+       }
+       if (EOF == sscanf(token, "%d", &value)){
+               print((uint8_t *)"ERROR: unsigned number expected as param 2!");
+               return 1;
+       }
+       if ((token = strtok(NULL, " ")) != NULL) {
+               print((uint8_t *)"ERROR: More than 2 parameters detected!");
+               return 1;
+       }
+       switch(postfix) {
+       case 1 :
+               setBit=&gioSetBit;
+               if (pin < 1 || pin > 6) {
+                       print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
+                       return 1;
+               }
+               if (value != 1 && value != 0) {
+                       print((uint8_t *)"ERROR: 2nd parameter out of range <0;1>!");
+                       return 1;
+               }
+               port = moutPorts[pin-1];
+               bit = moutBits[pin-1];
+               break;
+       }
+       setBit(port, bit, value);
+       print((uint8_t *)"Bit has been set.");
+       return 0;
+}
+
 int cmd_do_testADC1Connection(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 {
        uint32_t Vn[ADC1_CHANNEL_COUNT];        // Nominal value, converted from ADC
@@ -272,12 +414,22 @@ int val;
  * Command definitions
  * -------------------
  */
+cmd_des_t const cmd_des_setPin={
+    0, 0,
+    "SETBIT*","Sets given value to defined pin of port in suffix\r\n\t"
+                       "-suffix: MOUT pin<1;6> value <0;1> - MOUT<pin>_IN <- value",
+    cmd_do_setPin, (void *)&cmd_list
+};
 
-cmd_des_t const cmd_des_readadc1={
+cmd_des_t const cmd_des_read={
     0, 0,
-    "ADCREAD","Read values from channels of ADC1",
-    cmd_do_readADC1Values, (void *)&cmd_list
+    "READVAL*","Read values from channel\r\n\t"
+                       "-suffix ADC1 - read values from ADC1\r\n\t"
+                       "-suffix DIN  - read values from DIN\r\n\t"
+                       "-suffix MOUT - read values from MOUT",
+    cmd_do_readValues, (void *)&cmd_list
 };
+
 cmd_des_t const cmd_des_testadcconnetion={
     0, 0,
     "ADCCON","Test fitness of each ADC channel connection",
@@ -393,7 +545,8 @@ cmd_des_t const *cmd_list_main[]={
   &cmd_des_error,
   &cmd_des_testcanloopback,
   &cmd_des_testadcconnetion,
-  &cmd_des_readadc1,
+  &cmd_des_read,
+  &cmd_des_setPin,
   CMD_DES_INCLUDE_SUBLIST(cmd_list_1),
   CMD_DES_CONTINUE_AT(cmd_list_2),
   &cmd_des_hiddedn,
diff --git a/source/din.c b/source/din.c
new file mode 100644 (file)
index 0000000..c98db12
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * din.c
+ *
+ *  Created on: 29.8.2012
+ *      Author: michal
+ */
+#include "din.h"
+
+gioPORT_t * dinPorts[8] = {    DIN_PORT, DIN_PORT, DIN_PORT, DIN_PORT,
+                                                       DIN_PORT, DIN_PORT, DIN_PORT, DIN_PORT
+                                                 };
+uint8_t dinBits[8] ={  DIN8_BIT, DIN9_BIT, DIN10_BIT, DIN11_BIT,
+                                               DIN12_BIT, DIN13_BIT, DIN14_BIT, DIN15_BIT
+                                       };
+
+
+/** @fn void dinSetPort(uint32_t value)
+*   @brief Set value to port connected to DIN
+*   @param[in] value to write to port
+*                      - 0bit - 7bit equals to DIN8 - DIN15 value
+*                      - 8bit - 31bit does not matter
+*
+*   Set value of whole DIN port
+*/
+void dinSetPort(uint32_t value) {
+       gioSetPort(DIN_PORT, value);
+}
+
+/** @fn uint32_t dinGetPort()
+*   @brief Read value from port connected to DIN
+*
+*   Reads a the current value from the DIN port
+*/
+uint32_t dinGetPort() {
+       return gioGetPort(DIN_PORT);
+}
diff --git a/source/gio.c b/source/gio.c
new file mode 100644 (file)
index 0000000..2fa1f09
--- /dev/null
@@ -0,0 +1,425 @@
+/** @file gio.c \r
+*   @brief GIO Driver Implementation File\r
+*   @date 15.Mar.2012\r
+*   @version 03.01.00\r
+*\r
+*/\r
+\r
+/* (c) Texas Instruments 2009-2012, All rights reserved. */\r
+\r
+/* USER CODE BEGIN (0) */\r
+/* USER CODE END */\r
+\r
+#include "gio.h"\r
+\r
+/* USER CODE BEGIN (1) */\r
+/* USER CODE END */\r
+\r
+/** @fn void gioInit(void)\r
+*   @brief Initializes the GIO Driver\r
+*\r
+*   This function initializes the GIO module and set the GIO ports \r
+*   to the inital values.\r
+*/\r
+void gioInit(void)\r
+{\r
+/* USER CODE BEGIN (2) */\r
+/* USER CODE END */\r
+\r
+    /** bring GIO module out of reset */\r
+    gioREG->GCR0      = 1;\r
+    gioREG->INTENACLR = 0xFF;\r
+    gioREG->LVLCLR    = 0xFF;              \r
+\r
+    /** @b initalise @b Port @b A */\r
+\r
+    /** - Port A output values */\r
+    gioPORTA->DOUT =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port A direction */\r
+    gioPORTA->DIR  =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port A open drain enable */\r
+    gioPORTA->PDR  =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port A pullup / pulldown selection */\r
+    gioPORTA->PSL  =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port A pullup / pulldown enable*/\r
+    gioPORTA->PULDIS  =  0        /* Bit 0 */\r
+                      | (0 << 1)  /* Bit 1 */\r
+                      | (0 << 2)  /* Bit 2 */\r
+                      | (0 << 3)  /* Bit 3 */\r
+                      | (0 << 4)  /* Bit 4 */\r
+                      | (0 << 5)  /* Bit 5 */\r
+                      | (0 << 6)  /* Bit 6 */\r
+                      | (0 << 7); /* Bit 7 */\r
+\r
+    /** @b initalise @b Port @b B */\r
+\r
+    /** - Port B output values */\r
+    gioPORTB->DOUT =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port B direction */\r
+    gioPORTB->DIR  =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (1 << 2)  /* Bit 2 */\r
+                   | (1 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (1 << 6)  /* Bit 6 */\r
+                   | (1 << 7); /* Bit 7 */\r
+\r
+    /** - Port B open drain enable */\r
+    gioPORTB->PDR  =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port B pullup / pulldown selection */\r
+    gioPORTB->PSL  =  1        /* Bit 0 */\r
+                   | (1 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (1 << 4)  /* Bit 4 */\r
+                   | (1 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7); /* Bit 7 */\r
+\r
+    /** - Port B pullup / pulldown enable*/\r
+    gioPORTB->PULDIS  =  0        /* Bit 0 */\r
+                      | (0 << 1)  /* Bit 1 */\r
+                      | (0 << 2)  /* Bit 2 */\r
+                      | (0 << 3)  /* Bit 3 */\r
+                      | (0 << 4)  /* Bit 4 */\r
+                      | (0 << 5)  /* Bit 5 */\r
+                      | (0 << 6)  /* Bit 6 */\r
+                      | (0 << 7); /* Bit 7 */\r
+\r
+/* USER CODE BEGIN (3) */\r
+/* USER CODE END */\r
+\r
+    /** @b initalise @b interrupts */\r
+\r
+    /** - interrupt polarity */\r
+    gioREG->POL =  0        /* Bit 0 */\r
+                | (0 << 1)  /* Bit 1 */\r
+                | (0 << 2)  /* Bit 2 */\r
+                | (0 << 3)  /* Bit 3 */\r
+                | (0 << 4)  /* Bit 4 */\r
+                | (0 << 5)  /* Bit 5 */\r
+                | (0 << 6)  /* Bit 6 */\r
+                | (0 << 7)  /* Bit 7 */\r
+\r
+                | (0 << 8)  /* Bit 8  */\r
+                | (0 << 9)  /* Bit 9  */\r
+                | (0 << 10) /* Bit 10 */\r
+                | (0 << 11) /* Bit 11 */\r
+                | (0 << 12) /* Bit 12 */\r
+                | (0 << 13) /* Bit 13 */\r
+                | (0 << 14) /* Bit 14 */\r
+                | (0 << 15);/* Bit 15 */\r
+\r
+\r
+    /** - interrupt level */\r
+    gioREG->LVLSET =  0        /* Bit 0 */\r
+                   | (0 << 1)  /* Bit 1 */\r
+                   | (0 << 2)  /* Bit 2 */\r
+                   | (0 << 3)  /* Bit 3 */\r
+                   | (0 << 4)  /* Bit 4 */\r
+                   | (0 << 5)  /* Bit 5 */\r
+                   | (0 << 6)  /* Bit 6 */\r
+                   | (0 << 7)  /* Bit 7 */\r
+\r
+                   | (0 << 8)  /* Bit 8  */\r
+                   | (0 << 9)  /* Bit 9  */\r
+                   | (0 << 10) /* Bit 10 */\r
+                   | (0 << 11) /* Bit 11 */\r
+                   | (0 << 12) /* Bit 12 */\r
+                   | (0 << 13) /* Bit 13 */\r
+                   | (0 << 14) /* Bit 14 */\r
+                   | (0 << 15);/* Bit 15 */\r
+\r
+    \r
+\r
+\r
+    /** - clear all pending interrupts */\r
+    gioREG->FLG = 0xFF;\r
+\r
+    /** - enable interrupts */\r
+    gioREG->INTENASET =  0        /* Bit 0 */\r
+                      | (0 << 1)  /* Bit 1 */\r
+                      | (0 << 2)  /* Bit 2 */\r
+                      | (0 << 3)  /* Bit 3 */\r
+                      | (0 << 4)  /* Bit 4 */\r
+                      | (0 << 5)  /* Bit 5 */\r
+                      | (0 << 6)  /* Bit 6 */\r
+                      | (0 << 7)  /* Bit 7 */\r
+\r
+                      | (0 << 8)  /* Bit 8  */\r
+                      | (0 << 9)  /* Bit 9  */\r
+                      | (0 << 10) /* Bit 10 */\r
+                      | (0 << 11) /* Bit 11 */\r
+                      | (0 << 12) /* Bit 12 */\r
+                      | (0 << 13) /* Bit 13 */\r
+                      | (0 << 14) /* Bit 14 */\r
+                      | (0 << 15);/* Bit 15 */\r
+\r
+/* USER CODE BEGIN (4) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void gioSetDirection(gioPORT_t *port, uint32_t dir)\r
+*   @brief Set Port Direction\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*   @param[in] dir value to write to DIR register\r
+*\r
+*   Set the direction of GIO pins at runtime.\r
+*/\r
+void gioSetDirection(gioPORT_t *port, uint32_t dir)\r
+{\r
+    port->DIR = dir;\r
+}\r
+\r
+\r
+/** @fn void gioSetBit(gioPORT_t *port, uint32_t bit, uint32_t value)\r
+*   @brief Write Bit\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*   @param[in] bit number 0-7 that specifies the bit to be written to.\r
+*              - 0: LSB\r
+*              - 7: MSB\r
+*   @param[in] value binrary value to write to bit\r
+*\r
+*   Writes a value to the specified pin of the given GIO port\r
+*/\r
+void gioSetBit(gioPORT_t *port, uint32_t bit, uint32_t value)\r
+{\r
+/* USER CODE BEGIN (5) */\r
+/* USER CODE END */\r
+\r
+    if (value != 0)\r
+    {\r
+        port->DSET = 1 << bit;\r
+    }\r
+    else\r
+    {\r
+        port->DCLR = 1 << bit;\r
+    }\r
+}\r
+\r
+\r
+/** @fn void gioSetPort(gioPORT_t *port, uint32_t value)\r
+*   @brief Write Port Value\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*   @param[in] value value to write to port\r
+*\r
+*   Writes a value to all pin of a given GIO port\r
+*/\r
+void gioSetPort(gioPORT_t *port, uint32_t value)\r
+{\r
+/* USER CODE BEGIN (6) */\r
+/* USER CODE END */\r
+\r
+    port->DOUT = value;\r
+\r
+/* USER CODE BEGIN (7) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+\r
+/** @fn uint32_t gioGetBit(gioPORT_t *port, uint32_t bit)\r
+*   @brief Read Bit\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*   @param[in] bit number 0-7 that specifies the bit to be written to.\r
+*              - 0: LSB\r
+*              - 7: MSB\r
+*\r
+*   Reads a the current value from the specified pin of the given GIO port\r
+*/\r
+uint32_t gioGetBit(gioPORT_t *port, uint32_t bit)\r
+{\r
+/* USER CODE BEGIN (8) */\r
+/* USER CODE END */\r
+\r
+    return (port->DIN >> bit) & 1U;\r
+}\r
+\r
+\r
+/** @fn uint32_t gioGetPort(gioPORT_t *port)\r
+*   @brief Read Port Value\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*\r
+*   Reads a the current value of a given GIO port\r
+*/\r
+uint32_t gioGetPort(gioPORT_t *port)\r
+{\r
+/* USER CODE BEGIN (9) */\r
+/* USER CODE END */\r
+\r
+    return port->DIN;\r
+}\r
+\r
+/** @fn void gioToggleBit(gioPORT_t *port, uint32_t bit)\r
+*   @brief Write Bit\r
+*   @param[in] port pointer to GIO port:\r
+*              - gioPORTA: PortA pointer\r
+*              - gioPORTB: PortB pointer\r
+*   @param[in] bit number 0-7 that specifies the bit to be written to.\r
+*              - 0: LSB\r
+*              - 7: MSB\r
+*\r
+*   Toggle a value to the specified pin of the given GIO port\r
+*/\r
+void gioToggleBit(gioPORT_t *port, uint32_t bit)\r
+{\r
+/* USER CODE BEGIN (10) */\r
+/* USER CODE END */\r
+\r
+    if ((port->DIN & (1 << bit)) != 0)\r
+    {\r
+        port->DCLR = 1 << bit;\r
+    }\r
+    else\r
+    {\r
+        port->DSET = 1 << bit;\r
+    }\r
+}\r
+\r
+/** @fn void gioEnableNotification(uint32_t bit)\r
+*   @brief Enable Interrupt\r
+*   @param[in] bit interrupt pin to enable\r
+*              - 0: LSB\r
+*              - 7: MSB\r
+*\r
+*   Enables an innterrupt pin of PortA\r
+*/\r
+void gioEnableNotification(uint32_t bit)\r
+{\r
+/* USER CODE BEGIN (11) */\r
+/* USER CODE END */\r
+\r
+    gioREG->INTENASET = 1 << bit;\r
+}\r
+\r
+\r
+/** @fn void gioDisableNotification(uint32_t bit)\r
+*   @brief Disable Interrupt\r
+*   @param[in] bit interrupt pin to enable\r
+*              - 0: LSB\r
+*              - 7: MSB\r
+*\r
+*   Disables an innterrupt pin of PortA\r
+*/\r
+void gioDisableNotification(uint32_t bit)\r
+{\r
+/* USER CODE BEGIN (12) */\r
+/* USER CODE END */\r
+\r
+    gioREG->INTENACLR = 1 << bit;\r
+}\r
+\r
+\r
+/** @fn void gioHighLevelInterrupt(void)\r
+*   @brief GIO Interrupt Handler\r
+*\r
+*   High Level Interrupt handler for GIO pin interrupt \r
+*\r
+*/\r
+#pragma INTERRUPT(gioHighLevelInterrupt, IRQ)\r
+\r
+void gioHighLevelInterrupt(void)\r
+{\r
+    int offset = gioREG->OFFSET0 - 1U;\r
+\r
+/* USER CODE BEGIN (13) */\r
+/* USER CODE END */\r
+\r
+    if (offset >= 0)\r
+    {\r
+        gioNotification(offset);\r
+    }\r
+\r
+/* USER CODE BEGIN (14) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+\r
+/** @fn void gioLowLevelInterrupt(void)\r
+*   @brief GIO Interrupt Handler\r
+*\r
+*   Low Level Interrupt handler for GIO pin interrupt \r
+*\r
+*/\r
+#pragma INTERRUPT(gioLowLevelInterrupt, IRQ)\r
+\r
+void gioLowLevelInterrupt(void)\r
+{\r
+    int offset = gioREG->OFFSET1 - 1U;\r
+\r
+/* USER CODE BEGIN (15) */\r
+/* USER CODE END */\r
+\r
+    if (offset >= 0)\r
+    {\r
+        gioNotification(offset);\r
+    }\r
+\r
+/* USER CODE BEGIN (16) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+\r
+\r
diff --git a/source/het.c b/source/het.c
new file mode 100644 (file)
index 0000000..42ab803
--- /dev/null
@@ -0,0 +1,1744 @@
+/** @file het.c \r
+*   @brief HET Driver Implementation File\r
+*   @date 15.Mar.2012\r
+*   @version 03.01.00\r
+*\r
+*/\r
+\r
+/* (c) Texas Instruments 2009-2012, All rights reserved. */\r
+\r
+#include "het.h"\r
+\r
+/* USER CODE BEGIN (0) */\r
+/* USER CODE END */\r
+\r
+/*----------------------------------------------------------------------------*/\r
+/* Global variables                                                           */\r
+\r
+static const uint32_t s_het1pwmPolarity[] =\r
+{\r
+    3U,\r
+    3U,\r
+    3U,\r
+    3U,\r
+    3U,\r
+    3U,\r
+    3U,\r
+    3U,\r
+};\r
+\r
+\r
+/*----------------------------------------------------------------------------*/\r
+/* Default Program                                                            */\r
+\r
+/** @var const hetINSTRUCTION_t het1PROGRAM[]\r
+*   @brief Default Program\r
+*\r
+*   Het program running after initialization.\r
+*/\r
+\r
+const hetINSTRUCTION_t het1PROGRAM[] =\r
+{\r
+    /* CNT: Timebase\r
+    *       - Instruction                  = 0\r
+    *       - Next instruction             = 1\r
+    *       - Conditional next instruction = na\r
+    *       - Interrupt                    = na\r
+    *       - Pin                          = na\r
+    *       - Reg                          = T\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00002C80U,\r
+        /* Control */\r
+        0x01FFFFFFU,\r
+        /* Data */\r
+        0xFFFFFF80U,\r
+    },\r
+    /* PWCNT: PWM 0 -> Duty Cycle\r
+    *         - Instruction                  = 1\r
+    *         - Next instruction             = 2\r
+    *         - Conditional next instruction = 2\r
+    *         - Interrupt                    = 1\r
+    *         - Pin                          = 8\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000055C0U,\r
+        /* Control */\r
+        (0x00004006U | (8U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 0 -> Period\r
+    *         - Instruction                  = 2\r
+    *         - Next instruction             = 3\r
+    *         - Conditional next instruction = 41\r
+    *         - Interrupt                    = 2\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00007480U,\r
+        /* Control */\r
+        0x00052006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 1 -> Duty Cycle\r
+    *         - Instruction                  = 3\r
+    *         - Next instruction             = 4\r
+    *         - Conditional next instruction = 4\r
+    *         - Interrupt                    = 3\r
+    *         - Pin                          = 10\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000095C0U,\r
+        /* Control */\r
+        (0x00008006U | (10U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 1 -> Period\r
+    *         - Instruction                  = 4\r
+    *         - Next instruction             = 5\r
+    *         - Conditional next instruction = 43\r
+    *         - Interrupt                    = 4\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0000B480U,\r
+        /* Control */\r
+        0x00056006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 2 -> Duty Cycle\r
+    *         - Instruction                  = 5\r
+    *         - Next instruction             = 6\r
+    *         - Conditional next instruction = 6\r
+    *         - Interrupt                    = 5\r
+    *         - Pin                          = 12\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0000D5C0U,\r
+        /* Control */\r
+        (0x0000C006U | (12U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 2 -> Period\r
+    *         - Instruction                  = 6\r
+    *         - Next instruction             = 7\r
+    *         - Conditional next instruction = 45\r
+    *         - Interrupt                    = 6\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0000F480U,\r
+        /* Control */\r
+        0x0005A006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 3 -> Duty Cycle\r
+    *         - Instruction                  = 7\r
+    *         - Next instruction             = 8\r
+    *         - Conditional next instruction = 8\r
+    *         - Interrupt                    = 7\r
+    *         - Pin                          = 14\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000115C0U,\r
+        /* Control */\r
+        (0x00010006U | (14U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 3 -> Period\r
+    *         - Instruction                  = 8\r
+    *         - Next instruction             = 9\r
+    *         - Conditional next instruction = 47\r
+    *         - Interrupt                    = 8\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00013480U,\r
+        /* Control */\r
+        0x0005E006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 4 -> Duty Cycle\r
+    *         - Instruction                  = 9\r
+    *         - Next instruction             = 10\r
+    *         - Conditional next instruction = 10\r
+    *         - Interrupt                    = 9\r
+    *         - Pin                          = 16\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000155C0U,\r
+        /* Control */\r
+        (0x00014006U | (16U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 4 -> Period\r
+    *         - Instruction                  = 10\r
+    *         - Next instruction             = 11\r
+    *         - Conditional next instruction = 49\r
+    *         - Interrupt                    = 10\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00017480U,\r
+        /* Control */\r
+        0x00062006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 5 -> Duty Cycle\r
+    *         - Instruction                  = 11\r
+    *         - Next instruction             = 12\r
+    *         - Conditional next instruction = 12\r
+    *         - Interrupt                    = 11\r
+    *         - Pin                          = 17\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000195C0U,\r
+        /* Control */\r
+        (0x00018006U | (17U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 5 -> Period\r
+    *         - Instruction                  = 12\r
+    *         - Next instruction             = 13\r
+    *         - Conditional next instruction = 51\r
+    *         - Interrupt                    = 12\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001B480U,\r
+        /* Control */\r
+        0x00066006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 6 -> Duty Cycle\r
+    *         - Instruction                  = 13\r
+    *         - Next instruction             = 14\r
+    *         - Conditional next instruction = 14\r
+    *         - Interrupt                    = 13\r
+    *         - Pin                          = 18\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001D5C0U,\r
+        /* Control */\r
+        (0x0001C006U | (18U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 6 -> Period\r
+    *         - Instruction                  = 14\r
+    *         - Next instruction             = 15\r
+    *         - Conditional next instruction = 53\r
+    *         - Interrupt                    = 14\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001F480U,\r
+        /* Control */\r
+        0x0006A006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PWCNT: PWM 7 -> Duty Cycle\r
+    *         - Instruction                  = 15\r
+    *         - Next instruction             = 16\r
+    *         - Conditional next instruction = 16\r
+    *         - Interrupt                    = 15\r
+    *         - Pin                          = 19\r
+    */\r
+    {\r
+        /* Program */\r
+        0x000215C0U,\r
+        /* Control */\r
+        (0x00020006U | (19U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* DJZ: PWM 7 -> Period\r
+    *         - Instruction                  = 16\r
+    *         - Next instruction             = 17\r
+    *         - Conditional next instruction = 55\r
+    *         - Interrupt                    = 16\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00023480U,\r
+        /* Control */\r
+        0x0006E006U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 0\r
+    *         - Instruction                  = 17\r
+    *         - Next instruction             = 18\r
+    *         - Conditional next instruction = 18\r
+    *         - Interrupt                    = 17\r
+    *         - Pin                          = 9\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00025440U,\r
+        /* Control */\r
+        (0x00024007U | (9U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 1\r
+    *         - Instruction                  = 18\r
+    *         - Next instruction             = 19\r
+    *         - Conditional next instruction = 19\r
+    *         - Interrupt                    = 18\r
+    *         - Pin                          = 11\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00027440U,\r
+        /* Control */\r
+        (0x00026007U | (11U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 2\r
+    *         - Instruction                  = 19\r
+    *         - Next instruction             = 20\r
+    *         - Conditional next instruction = 20\r
+    *         - Interrupt                    = 19\r
+    *         - Pin                          = 13\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00029440U,\r
+        /* Control */\r
+        (0x00028007U | (13U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 3\r
+    *         - Instruction                  = 20\r
+    *         - Next instruction             = 21\r
+    *         - Conditional next instruction = 21\r
+    *         - Interrupt                    = 20\r
+    *         - Pin                          = 15\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0002B440U,\r
+        /* Control */\r
+        (0x0002A007U | (15U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 4\r
+    *         - Instruction                  = 21\r
+    *         - Next instruction             = 22\r
+    *         - Conditional next instruction = 22\r
+    *         - Interrupt                    = 21\r
+    *         - Pin                          = 20\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0002D440U,\r
+        /* Control */\r
+        (0x0002C007U | (20U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 5\r
+    *         - Instruction                  = 22\r
+    *         - Next instruction             = 23\r
+    *         - Conditional next instruction = 23\r
+    *         - Interrupt                    = 22\r
+    *         - Pin                          = 21\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0002F440U,\r
+        /* Control */\r
+        (0x0002E007U | (21U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 6\r
+    *         - Instruction                  = 23\r
+    *         - Next instruction             = 24\r
+    *         - Conditional next instruction = 24\r
+    *         - Interrupt                    = 23\r
+    *         - Pin                          = 22\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00031440U,\r
+        /* Control */\r
+        (0x00030007U | (22U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* ECNT: CCU Edge 7\r
+    *         - Instruction                  = 24\r
+    *         - Next instruction             = 25\r
+    *         - Conditional next instruction = 25\r
+    *         - Interrupt                    = 24\r
+    *         - Pin                          = 23\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00033440U,\r
+        /* Control */\r
+        (0x00032007U | (23U << 8U) | (1U << 4U)),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 0\r
+    *         - Instruction                  = 25\r
+    *         - Next instruction             = 26\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 0\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00034E00U | (0U << 6U)  | (0U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 0\r
+    *         - Instruction                  = 26\r
+    *         - Next instruction             = 27\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 0  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00036E80U | (0U << 6U)  | ((0U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 1\r
+    *         - Instruction                  = 27\r
+    *         - Next instruction             = 28\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 2\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00038E00U | (0U << 6U)  | (2U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 1\r
+    *         - Instruction                  = 28\r
+    *         - Next instruction             = 29\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 2  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0003AE80U | (0U << 6U)  | ((2U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 2\r
+    *         - Instruction                  = 29\r
+    *         - Next instruction             = 30\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 4\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0003CE00U | (0U << 6U)  | (4U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 2\r
+    *         - Instruction                  = 30\r
+    *         - Next instruction             = 31\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 4  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0003EE80U | (0U << 6U)  | ((4U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 3\r
+    *         - Instruction                  = 31\r
+    *         - Next instruction             = 32\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 6\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00040E00U | (0U << 6U)  | (6U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 3\r
+    *         - Instruction                  = 32\r
+    *         - Next instruction             = 33\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 6  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00042E80U | (0U << 6U)  | ((6U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 4\r
+    *         - Instruction                  = 33\r
+    *         - Next instruction             = 34\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 24\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00044E00U | (0U << 6U)  | (24U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 4\r
+    *         - Instruction                  = 34\r
+    *         - Next instruction             = 35\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 24  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00046E80U | (0U << 6U)  | ((24U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 5\r
+    *         - Instruction                  = 35\r
+    *         - Next instruction             = 36\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 26\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00048E00U | (0U << 6U)  | (26U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 5\r
+    *         - Instruction                  = 36\r
+    *         - Next instruction             = 37\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 26  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0004AE80U | (0U << 6U)  | ((26U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 6\r
+    *         - Instruction                  = 37\r
+    *         - Next instruction             = 38\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 28\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0004CE00U | (0U << 6U)  | (28U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 6\r
+    *         - Instruction                  = 38\r
+    *         - Next instruction             = 39\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 28  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0004EE80U | (0U << 6U)  | ((28U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Duty 7\r
+    *         - Instruction                  = 39\r
+    *         - Next instruction             = 40\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 30\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00050E00U | (0U << 6U)  | (30U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* PCNT: Capture Period 7\r
+    *         - Instruction                  = 40\r
+    *         - Next instruction             = 57\r
+    *         - Conditional next instruction = na\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = 30  + 1\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00072E80U | (0U << 6U)  | ((30U) + 1U),\r
+        /* Control */\r
+        0x00000000U,\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+    /* MOV64: PWM 0 -> Duty Cycle Update\r
+    *         - Instruction                  = 41\r
+    *         - Next instruction             = 42\r
+    *         - Conditional next instruction = 2\r
+    *         - Interrupt                    = 1\r
+    *         - Pin                          = 8\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00054201U,\r
+        /* Control */\r
+        (0x00004007U | (0U << 22U) | (8U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 0 -> Period Update\r
+    *         - Instruction                  = 42\r
+    *         - Next instruction             = 3\r
+    *         - Conditional next instruction = 41\r
+    *         - Interrupt                    = 2\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00006202U,\r
+        /* Control */\r
+        (0x00052007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 1 -> Duty Cycle Update\r
+    *         - Instruction                  = 43\r
+    *         - Next instruction             = 44\r
+    *         - Conditional next instruction = 4\r
+    *         - Interrupt                    = 3\r
+    *         - Pin                          = 10\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00058203U,\r
+        /* Control */\r
+        (0x00008007U | (0U << 22U) | (10U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 1 -> Period Update\r
+    *         - Instruction                  = 44\r
+    *         - Next instruction             = 5\r
+    *         - Conditional next instruction = 43\r
+    *         - Interrupt                    = 4\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0000A204U,\r
+        /* Control */\r
+        (0x00056007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 2 -> Duty Cycle Update\r
+    *         - Instruction                  = 45\r
+    *         - Next instruction             = 46\r
+    *         - Conditional next instruction = 6\r
+    *         - Interrupt                    = 5\r
+    *         - Pin                          = 12\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0005C205U,\r
+        /* Control */\r
+        (0x0000C007U | (0U << 22U) | (12U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 2 -> Period Update\r
+    *         - Instruction                  = 46\r
+    *         - Next instruction             = 7\r
+    *         - Conditional next instruction = 45\r
+    *         - Interrupt                    = 6\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0000E206U,\r
+        /* Control */\r
+        (0x0005A007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 3 -> Duty Cycle Update\r
+    *         - Instruction                  = 47\r
+    *         - Next instruction             = 48\r
+    *         - Conditional next instruction = 8\r
+    *         - Interrupt                    = 7\r
+    *         - Pin                          = 14\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00060207U,\r
+        /* Control */\r
+        (0x00010007U | (0U << 22U) | (14U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 3 -> Period Update\r
+    *         - Instruction                  = 48\r
+    *         - Next instruction             = 9\r
+    *         - Conditional next instruction = 47\r
+    *         - Interrupt                    = 8\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00012208U,\r
+        /* Control */\r
+        (0x0005E007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 4 -> Duty Cycle Update\r
+    *         - Instruction                  = 49\r
+    *         - Next instruction             = 50\r
+    *         - Conditional next instruction = 10\r
+    *         - Interrupt                    = 9\r
+    *         - Pin                          = 16\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00064209U,\r
+        /* Control */\r
+        (0x00014007U | (0U << 22U) | (16U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 4 -> Period Update\r
+    *         - Instruction                  = 50\r
+    *         - Next instruction             = 11\r
+    *         - Conditional next instruction = 49\r
+    *         - Interrupt                    = 10\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001620AU,\r
+        /* Control */\r
+        (0x00062007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 5 -> Duty Cycle Update\r
+    *         - Instruction                  = 51\r
+    *         - Next instruction             = 52\r
+    *         - Conditional next instruction = 12\r
+    *         - Interrupt                    = 11\r
+    *         - Pin                          = 17\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0006820BU,\r
+        /* Control */\r
+        (0x00018007U | (0U << 22U) | (17U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 5 -> Period Update\r
+    *         - Instruction                  = 52\r
+    *         - Next instruction             = 13\r
+    *         - Conditional next instruction = 51\r
+    *         - Interrupt                    = 12\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001A20CU,\r
+        /* Control */\r
+        (0x00066007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 6 -> Duty Cycle Update\r
+    *         - Instruction                  = 53\r
+    *         - Next instruction             = 54\r
+    *         - Conditional next instruction = 14\r
+    *         - Interrupt                    = 13\r
+    *         - Pin                          = 18\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0006C20DU,\r
+        /* Control */\r
+        (0x0001C007U | (0U << 22U) | (18U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 6 -> Period Update\r
+    *         - Instruction                  = 54\r
+    *         - Next instruction             = 15\r
+    *         - Conditional next instruction = 53\r
+    *         - Interrupt                    = 14\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0001E20EU,\r
+        /* Control */\r
+        (0x0006A007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* MOV64: PWM 7 -> Duty Cycle Update\r
+    *         - Instruction                  = 55\r
+    *         - Next instruction             = 56\r
+    *         - Conditional next instruction = 16\r
+    *         - Interrupt                    = 15\r
+    *         - Pin                          = 19\r
+    */\r
+    {\r
+        /* Program */\r
+        0x0007020FU,\r
+        /* Control */\r
+        (0x00020007U | (0U << 22U) | (19U << 8U) | (3U << 3U)),\r
+        /* Data */\r
+        80128U,\r
+    },\r
+    /* MOV64: PWM 7 -> Period Update\r
+    *         - Instruction                  = 56\r
+    *         - Next instruction             = 17\r
+    *         - Conditional next instruction = 55\r
+    *         - Interrupt                    = 16\r
+    *         - Pin                          = na\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00022210U,\r
+        /* Control */\r
+        (0x0006E007U),\r
+        /* Data */\r
+        159872U,\r
+    },\r
+    /* WCAP: Capture timestamp\r
+    *         - Instruction                  = 57\r
+    *         - Next instruction             = 0\r
+    *         - Conditional next instruction = 0\r
+    *         - Interrupt                    = na\r
+    *         - Pin                          = na\r
+    *         - Reg                          = T\r
+    */\r
+    {\r
+        /* Program */\r
+        0x00001600U,\r
+        /* Control */\r
+        (0x00000004U),\r
+        /* Data */\r
+        0x00000000U,\r
+    },\r
+};\r
+\r
+\r
+\r
+/** @fn void hetInit(void)\r
+*   @brief Initializes the het Driver\r
+*\r
+*   This function initializes the het 1 module.\r
+*/\r
+void hetInit(void)\r
+{\r
+    /** @b intalise @b HET */\r
+\r
+    /** - Set HET pins default output value */\r
+    hetREG1->DOUT = (0U << 31U)\r
+                 | (0U << 30U)\r
+                 | (0U << 29U)\r
+                 | (0U << 28U) \r
+                 | (0U << 27U)  \r
+                 | (0U << 26U)  \r
+                 | (0U << 25U)  \r
+                 | (0U << 24U)  \r
+                 | (0U << 23U)  \r
+                 | (0U << 22U)  \r
+                 | (0U << 21U)  \r
+                 | (0U << 20U)  \r
+                 | (0U << 19U)  \r
+                 | (0U << 18U) \r
+                 | (0U << 17U) \r
+                 | (0U << 16U) \r
+                 | (0U << 15U) \r
+                 | (0U << 14U) \r
+                 | (0U << 13U) \r
+                 | (0U << 12U) \r
+                 | (0U << 11U) \r
+                 | (0U << 10U) \r
+                 | (0U << 9U)\r
+                 | (0U << 8U)\r
+                 | (0U << 7U)\r
+                 | (0U << 6U)\r
+                 | (0U << 5U)\r
+                 | (0U << 4U)\r
+                 | (0U << 3U)\r
+                 | (0U << 2U)\r
+                 | (0U << 1U)\r
+                 | (0U);\r
+\r
+    /** - Set HET pins direction */\r
+    hetREG1->DIR = 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00004000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000200U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U;\r
+\r
+    /** - Set HET pins open drain enable */\r
+    hetREG1->PDR = 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U \r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U;\r
+\r
+    /** - Set HET pins pullup/down enable */\r
+    hetREG1->PULDIS = 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U \r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U\r
+                   | 0x00000000U;\r
+\r
+    /** - Set HET pins pullup/down select */\r
+    hetREG1->PSL = 0x80000000U \r
+                | 0x40000000U \r
+                | 0x20000000U \r
+                | 0x10000000U \r
+                | 0x08000000U \r
+                | 0x04000000U \r
+                | 0x02000000U \r
+                | 0x01000000U \r
+                | 0x00800000U \r
+                | 0x00400000U \r
+                | 0x00200000U \r
+                | 0x00100000U \r
+                | 0x00080000U \r
+                | 0x00040000U \r
+                | 0x00020000U \r
+                | 0x00010000U \r
+                | 0x00008000U \r
+                | 0x00004000U \r
+                | 0x00002000U \r
+                | 0x00001000U \r
+                | 0x00000800U \r
+                | 0x00000400U \r
+                | 0x00000200U\r
+                | 0x00000100U\r
+                | 0x00000080U\r
+                | 0x00000040U\r
+                | 0x00000020U\r
+                | 0x00000010U\r
+                | 0x00000008U\r
+                | 0x00000004U\r
+                | 0x00000002U\r
+                | 0x00000001U;\r
+\r
+    /** - Set HET pins high resolution share */\r
+    hetREG1->HRSH = 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U;\r
+\r
+    /** - Set HET pins AND share */\r
+    hetREG1->AND = 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U;                                 \r
+\r
+    /** - Set HET pins XOR share */\r
+    hetREG1->XOR = 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U \r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U\r
+                 | 0x00000000U;\r
+                                \r
+/* USER CODE BEGIN (1) */\r
+/* USER CODE END */\r
+\r
+    /** - Setup prescaler values\r
+       *     - Loop resolution prescaler\r
+       *     - High resolution prescaler\r
+       */\r
+    hetREG1->PFR = (6U << 8U)\r
+                | (0U);\r
+       \r
+       /** - Fill HET RAM with opcodes and Data */\r
+    memcpy((void *)hetRAM1, (const void *)het1PROGRAM, sizeof(het1PROGRAM));\r
+\r
+    /** - Setup interrupt priority level \r
+    *     - PWM 0 end of duty  level\r
+    *     - PWM 0 end of period level\r
+    *     - PWM 1 end of duty  level\r
+    *     - PWM 1 end of period level\r
+    *     - PWM 2 end of duty  level\r
+    *     - PWM 2 end of period level\r
+    *     - PWM 3 end of duty  level\r
+    *     - PWM 3 end of period level\r
+    *     - PWM 4 end of duty  level\r
+    *     - PWM 4 end of period level\r
+    *     - PWM 5 end of duty  level\r
+    *     - PWM 5 end of period level\r
+    *     - PWM 6 end of duty  level\r
+    *     - PWM 6 end of period level\r
+    *     - PWM 7 end of duty  level\r
+    *     - PWM 7 end of period level\r
+\r
+    *     - CCU Edge Detection 0 level\r
+    *     - CCU Edge Detection 1 level\r
+    *     - CCU Edge Detection 2 level\r
+    *     - CCU Edge Detection 3 level\r
+    *     - CCU Edge Detection 4 level\r
+    *     - CCU Edge Detection 5 level\r
+    *     - CCU Edge Detection 6 level\r
+    *     - CCU Edge Detection 7 level\r
+    */\r
+    hetREG1->PRY = 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U\r
+                | 0x00000000U;\r
\r
+    /** - Enable interrupts \r
+    *     - PWM 0 end of duty\r
+    *     - PWM 0 end of period\r
+    *     - PWM 1 end of duty\r
+    *     - PWM 1 end of period\r
+    *     - PWM 2 end of duty\r
+    *     - PWM 2 end of period\r
+    *     - PWM 3 end of duty\r
+    *     - PWM 3 end of period\r
+    *     - PWM 4 end of duty\r
+    *     - PWM 4 end of period\r
+    *     - PWM 5 end of duty\r
+    *     - PWM 5 end of period\r
+    *     - PWM 6 end of duty\r
+    *     - PWM 6 end of period\r
+    *     - PWM 7 end of duty\r
+    *     - PWM 7 end of period\r
+    *     - CCU Edge Detection 0\r
+    *     - CCU Edge Detection 1\r
+    *     - CCU Edge Detection 2\r
+    *     - CCU Edge Detection 3\r
+    *     - CCU Edge Detection 4\r
+    *     - CCU Edge Detection 5\r
+    *     - CCU Edge Detection 6\r
+    *     - CCU Edge Detection 7\r
+    */\r
+    hetREG1->INTENAC = 0xFFFFFFFFU;\r
+    hetREG1->INTENAS = 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U\r
+                    | 0x00000000U;\r
+\r
+   \r
+   /** - Parity control register \r
+    *     - Enable/Disable Parity check\r
+    */\r
+    hetREG1->PCREG = 0x00000005U;\r
+   \r
+   /** - Setup control register \r
+    *     - Enable output buffers\r
+    *     - Ignore software breakpoints\r
+    *     - Master mode\r
+    *     - Enable HET\r
+    */\r
+    hetREG1->GCR = 0x01030001U;\r
+    /**   @note This function has to be called before the driver can be used.\n\r
+    *           This function has to be executed in priviledged mode.\n\r
+    */\r
+\r
+\r
+\r
+}\r
+\r
+/** @fn void pwmStart( hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+*   @brief Start pwm signal\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*\r
+*   Start the given pwm signal\r
+*/\r
+\r
+void pwmStart( hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+{\r
\r
+   hetRAM->Instruction[(pwm << 1U) + 41U].Control  |= 0x00400000U;\r
+}\r
+\r
+\r
+/** @fn void pwmStop( hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+*   @brief Stop pwm signal\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*\r
+*   Stop the given pwm signal\r
+*/\r
+\r
+void pwmStop( hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+{\r
+    hetRAM->Instruction[(pwm << 1U) + 41U].Control  &= ~0x00400000U;\r
+}\r
+\r
+\r
+/** @fn void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32_t pwm, uint32_t duty)\r
+*   @brief Set duty cycle\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*   @param[in] duty duty cycle in %.\r
+*\r
+*   Sets a new duty cycle on the given pwm signal\r
+*/\r
+\r
+void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32_t pwm, uint32_t duty)\r
+{\r
+    uint32_t action;\r
+    uint32_t pwmPolarity;\r
+    double   period = hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128U;\r
+    if(hetRAM == hetRAM1)\r
+    {\r
+        pwmPolarity = s_het1pwmPolarity[pwm];\r
+    }\r
+    else\r
+    {\r
+    }\r
+    if (duty == 0U)\r
+    {\r
+        action = (pwmPolarity == 3U) ? 0U : 2U;\r
+    }\r
+    else if (duty >= 100U)\r
+    {\r
+        action = (pwmPolarity == 3U) ? 2U : 0U;\r
+    }\r
+    else\r
+    {\r
+        action = pwmPolarity;\r
+    }\r
+        \r
+    hetRAM->Instruction[(pwm << 1U) + 41U].Control = (hetRAM->Instruction[(pwm << 1U) + 41U].Control & ~0x18U) | (action << 3U);\r
+    hetRAM->Instruction[(pwm << 1U) + 41U].Data = (uint32_t)(period * duty / 100.0) + 128U;\r
+}\r
+\r
+\r
+/** @fn void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32_t pwm, hetSIGNAL_t signal)\r
+*   @brief Set period\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*   @param[in] signal signal \r
+               - duty cycle in %.\r
+*              - period period in us.\r
+*\r
+*   Sets a new pwm signal\r
+*/\r
+\r
+void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32_t pwm, hetSIGNAL_t signal)\r
+{\r
+    uint32_t action;\r
+    uint32_t period;\r
+    uint32_t pwmPolarity;\r
+    \r
+    if(hetRAM == hetRAM1)\r
+    {\r
+           period = (uint32_t)(signal.period * 1000.0 / 800.000) << 7U;\r
+        pwmPolarity = s_het1pwmPolarity[pwm];\r
+    }\r
+    else\r
+    {\r
+    }\r
+    if (signal.duty == 0U)\r
+    {\r
+        action = (pwmPolarity == 3U) ? 0U : 2U;\r
+    }\r
+    else if (signal.duty >= 100U)\r
+    {\r
+        action = (pwmPolarity == 3U) ? 2U : 0U;\r
+    }\r
+    else\r
+    {\r
+        action = pwmPolarity;\r
+    }\r
+        \r
+    hetRAM->Instruction[(pwm << 1U) + 41U].Control = (hetRAM->Instruction[(pwm << 1U) + 41U].Control & ~0x18U) | (action << 3U);\r
+    hetRAM->Instruction[(pwm << 1U) + 41U].Data = (uint32_t)(period * signal.duty / 100.0) + 128U;\r
+    hetRAM->Instruction[(pwm << 1U) + 42U].Data = period - 128U;\r
+}\r
+\r
+\r
+/** @fn hetSIGNAL_t pwmGetSignal(hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+*   @brief Get duty cycle\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*\r
+*   Gets current signal of the given pwm signal.\r
+*/\r
+\r
+hetSIGNAL_t pwmGetSignal(hetRAMBASE_t * hetRAM, uint32_t pwm)\r
+{\r
+    hetSIGNAL_t signal;   \r
+    uint32_t    duty   = hetRAM->Instruction[(pwm << 1U) + 41U].Data - 128;\r
+    uint32_t    period = hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128;\r
+    \r
+    signal.duty   = (uint32_t)(100.0 * duty / period);\r
+\r
+    if(hetRAM == hetRAM1)\r
+    {\r
+        signal.period = (period >> 7U) * 800.000 / 1000.0;\r
+    }\r
+    else\r
+    {\r
+        signal.period = (period >> 7U) * 800.000 / 1000.0;\r
+    }\r
+    return signal;\r
+}\r
+\r
+\r
+/** @fn void pwmEnableNotification(hetBASE_t * hetREG, uint32_t pwm, uint32_t notification)\r
+*   @brief Enable pwm notification\r
+*   @param[in] hetREG Pointer to HET Module:\r
+*              - hetREG1: HET1 Module pointer\r
+*              - hetREG2: HET2 Module pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*   @param[in] notification Pwm notification:\r
+*              - pwmEND_OF_DUTY:   Notification on end of duty\r
+*              - pwmEND_OF_PERIOD: Notification on end of end period\r
+*              - pwmEND_OF_BOTH:   Notification on end of both duty and period\r
+*/\r
+\r
+void pwmEnableNotification(hetBASE_t * hetREG, uint32_t pwm, uint32_t notification)\r
+{\r
+    hetREG->FLG     = notification << (pwm << 1U);\r
+    hetREG->INTENAS = notification << (pwm << 1U);\r
+}\r
+\r
+\r
+/** @fn void pwmDisableNotification(hetBASE_t * hetREG, uint32_t pwm, uint32_t notification)\r
+*   @brief Enable pwm notification\r
+*   @param[in] hetREG Pointer to HET Module:\r
+*              - hetREG1: HET1 Module pointer\r
+*              - hetREG2: HET2 Module pointer\r
+*   @param[in] pwm Pwm signal:\r
+*              - pwm0: Pwm 0\r
+*              - pwm1: Pwm 1\r
+*              - pwm2: Pwm 2\r
+*              - pwm3: Pwm 3\r
+*              - pwm4: Pwm 4\r
+*              - pwm5: Pwm 5\r
+*              - pwm6: Pwm 6\r
+*              - pwm7: Pwm 7\r
+*   @param[in] notification Pwm notification:\r
+*              - pwmEND_OF_DUTY:   Notification on end of duty\r
+*              - pwmEND_OF_PERIOD: Notification on end of end period\r
+*              - pwmEND_OF_BOTH:   Notification on end of both duty and period\r
+*/\r
+\r
+void pwmDisableNotification(hetBASE_t * hetREG, uint32_t pwm, uint32_t notification)\r
+{\r
+    hetREG->INTENAC = notification << (pwm << 1U);\r
+}\r
+\r
+\r
+/** @fn void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)\r
+*   @brief Resets edge counter to 0\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] edge Edge signal:\r
+*              - edge0: Edge 0\r
+*              - edge1: Edge 1\r
+*              - edge2: Edge 2\r
+*              - edge3: Edge 3\r
+*              - edge4: Edge 4\r
+*              - edge5: Edge 5\r
+*              - edge6: Edge 6\r
+*              - edge7: Edge 7\r
+*\r
+*   Reset edge counter to 0.\r
+*/\r
+\r
+void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)\r
+{\r
+    hetRAM->Instruction[edge + 17U].Data = 0U;\r
+}\r
+\r
+\r
+/** @fn uint32_t edgeGetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)\r
+*   @brief Get current edge counter value\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] edge Edge signal:\r
+*              - edge0: Edge 0\r
+*              - edge1: Edge 1\r
+*              - edge2: Edge 2\r
+*              - edge3: Edge 3\r
+*              - edge4: Edge 4\r
+*              - edge5: Edge 5\r
+*              - edge6: Edge 6\r
+*              - edge7: Edge 7\r
+*\r
+*   Gets current edge counter value.\r
+*/\r
+\r
+uint32_t edgeGetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)\r
+{\r
+    return hetRAM->Instruction[edge + 17U].Data >> 7U;\r
+}\r
+\r
+\r
+/** @fn void edgeEnableNotification(hetBASE_t * hetREG, uint32_t edge)\r
+*   @brief Enable edge notification\r
+*   @param[in] hetREG Pointer to HET Module:\r
+*              - hetREG1: HET1 Module pointer\r
+*              - hetREG2: HET2 Module pointer\r
+*   @param[in] edge Edge signal:\r
+*              - edge0: Edge 0\r
+*              - edge1: Edge 1\r
+*              - edge2: Edge 2\r
+*              - edge3: Edge 3\r
+*              - edge4: Edge 4\r
+*              - edge5: Edge 5\r
+*              - edge6: Edge 6\r
+*              - edge7: Edge 7\r
+*/\r
+\r
+void edgeEnableNotification(hetBASE_t * hetREG, uint32_t edge)\r
+{\r
+    hetREG->FLG     = 0x20000U << edge;\r
+    hetREG->INTENAS = 0x20000U << edge;\r
+}\r
+\r
+\r
+/** @fn void edgeDisableNotification(hetBASE_t * hetREG, uint32_t edge)\r
+*   @brief Enable edge notification\r
+*   @param[in] hetREG Pointer to HET Module:\r
+*              - hetREG1: HET1 Module pointer\r
+*              - hetREG2: HET2 Module pointer\r
+*   @param[in] edge Edge signal:\r
+*              - edge0: Edge 0\r
+*              - edge1: Edge 1\r
+*              - edge2: Edge 2\r
+*              - edge3: Edge 3\r
+*              - edge4: Edge 4\r
+*              - edge5: Edge 5\r
+*              - edge6: Edge 6\r
+*              - edge7: Edge 7\r
+*/\r
+\r
+void edgeDisableNotification(hetBASE_t * hetREG, uint32_t edge)\r
+{\r
+    hetREG->INTENAC = 0x20000U << edge;\r
+}\r
+\r
+\r
+/** @fn hetSIGNAL_t capGetSignal(hetRAMBASE_t * hetRAM, uint32_t cap)\r
+*   @brief Get capture signal\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*   @param[in] cap captured signal:\r
+*              - cap0: Captured signal 0\r
+*              - cap1: Captured signal 1\r
+*              - cap2: Captured signal 2\r
+*              - cap3: Captured signal 3\r
+*              - cap4: Captured signal 4\r
+*              - cap5: Captured signal 5\r
+*              - cap6: Captured signal 6\r
+*              - cap7: Captured signal 7\r
+*\r
+*   Gets current signal of the given capture signal.\r
+*/\r
+\r
+hetSIGNAL_t capGetSignal(hetRAMBASE_t * hetRAM, uint32_t cap)\r
+{\r
+    uint32_t    duty   = hetRAM->Instruction[(cap << 1U) + 25U].Data;\r
+    uint32_t    period = hetRAM->Instruction[(cap << 1U) + 26U].Data;\r
+       hetSIGNAL_t signal;   \r
+    \r
+    signal.duty   = (uint32_t)(100.0 * duty / period);\r
+    \r
+    if( hetRAM == hetRAM1)\r
+    {\r
+        signal.period = (period >> 7U) * 800.000 / 1000.0;\r
+    }\r
+    else\r
+    {\r
+        signal.period = (period >> 7U) * 800.000 / 1000.0;\r
+    }\r
+    return signal;\r
+}\r
+\r
+\r
+/** @fn void hetResetTimestamp(hetRAMBASE_t *hetRAM)\r
+*   @brief Resets timestamp\r
+*   @param[in] hetRAM Pointer to HET RAM:\r
+*              - hetRAM1: HET1 RAM pointer\r
+*              - hetRAM2: HET2 RAM pointer\r
+*\r
+*   Resets loop count based timstamp.\r
+*/\r
+\r
+void hetResetTimestamp(hetRAMBASE_t * hetRAM)\r
+{\r
+    hetRAM->Instruction[0U].Data = 0;\r
+}\r
+\r
+\r
+/** @fn uint32_t hetGetTimestamp(hetRAMBASE_t *hetRAM)\r
+*   @brief Returns timestamp\r
+*\r
+*   Returns loop count based timstamp.\r
+*/\r
+\r
+uint32_t hetGetTimestamp(hetRAMBASE_t * hetRAM)\r
+{\r
+    return hetRAM->Instruction[57U].Data;\r
+}\r
+\r
+/* USER CODE BEGIN (4) */\r
+/* USER CODE END */\r
+\r
+/** @fn void het1HighLevelInterrupt(void)\r
+*   @brief Level 0 Interrupt for HET1\r
+*/\r
+#pragma INTERRUPT(het1HighLevelInterrupt, IRQ)\r
+\r
+void het1HighLevelInterrupt(void)\r
+{\r
+    uint32_t vec = hetREG1->OFF1;\r
+       \r
+    if (vec < 18U)\r
+    {\r
+        if ((vec & 1U) != 0)\r
+        {\r
+            pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD);\r
+        }\r
+        else\r
+        {\r
+            pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY);\r
+        }\r
+    }\r
+    else\r
+    {\r
+        edgeNotification(hetREG1,vec - 18U);\r
+    }\r
+}\r
+\r
+\r
+/** @fn void het1LowLevelInterrupt(void)\r
+*   @brief Level 1 Interrupt for HET1\r
+*/\r
+#pragma INTERRUPT(het1LowLevelInterrupt, IRQ)\r
+\r
+void het1LowLevelInterrupt(void)\r
+{\r
+    uint32_t vec = hetREG1->OFF2;\r
+       \r
+    if (vec < 18U)\r
+    {\r
+        if ((vec & 1U) != 0)\r
+        {\r
+            pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD);\r
+        }\r
+        else\r
+        {\r
+            pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY);\r
+        }\r
+    }\r
+    else\r
+    {\r
+        edgeNotification(hetREG1,vec - 18U);\r
+    }\r
+}\r
+\r
diff --git a/source/mibspi.c b/source/mibspi.c
new file mode 100644 (file)
index 0000000..82fae1f
--- /dev/null
@@ -0,0 +1,692 @@
+/** @file mibspi.c \r
+*   @brief MIBSPI Driver Implementation File\r
+*   @date 15.Mar.2012\r
+*   @version 03.01.00\r
+*\r
+*/\r
+\r
+/* (c) Texas Instruments 2009-2012, All rights reserved. */\r
+\r
+/* USER CODE BEGIN (0) */\r
+/* USER CODE END */\r
+\r
+#include "mibspi.h"\r
+\r
+/* USER CODE BEGIN (1) */\r
+/* USER CODE END */\r
+\r
+/** @fn void mibspiInit(void)\r
+*   @brief Initializes the MIBSPI Driver\r
+*\r
+*   This function initializes the MIBSPI module.\r
+*/\r
+void mibspiInit(void)\r
+{\r
+int i ;\r
+\r
+/* USER CODE BEGIN (2) */\r
+/* USER CODE END */\r
+\r
+\r
+\r
+\r
+    /** @b intalise @b MIBSPI5 */\r
+\r
+    /** bring MIBSPI out of reset */\r
+    mibspiREG5->GCR0 = 1U;\r
+       \r
+    /** enable MIBSPI RAM Parity */\r
+    mibspiREG5->EDEN = 0x00000005U;\r
+\r
+    /** enable MIBSPI5 multibuffered mode and enable buffer RAM */\r
+    mibspiREG5->MIBSPIE = 1U;\r
+\r
+    /** MIBSPI5 master mode and clock configuration */\r
+    mibspiREG5->GCR1 = (1 << 1)  /* CLOKMOD */\r
+                  | 1;  /* MASTER */\r
+\r
+    /** MIBSPI5 enable pin configuration */\r
+    mibspiREG5->ENAHIGHZ = 0;  /* ENABLE HIGHZ */\r
+\r
+    /** - Delays */\r
+    mibspiREG5->DELAY = (0 << 24)  /* C2TDELAY */\r
+                   | (0 << 16)  /* T2CDELAY */\r
+                   | (0 << 8)  /* T2EDELAY */\r
+                   | 0;  /* C2EDELAY */\r
+\r
+    /** - Data Format 0 */\r
+    mibspiREG5->FMT0 = (0 << 24)  /* wdelay */\r
+                  | (0 << 23)  /* parity Polarity */\r
+                  | (0 << 22)  /* parity enable */\r
+                  | (0 << 21)  /* wait on enable */\r
+                  | (0 << 20)  /* shift direction */\r
+                  | (0 << 17)  /* clock polarity */\r
+                  | (0 << 16)  /* clock phase */\r
+                  | (79 << 8) /* baudrate prescale */\r
+                  | 16;  /* data word length */\r
+\r
+    /** - Data Format 1 */\r
+    mibspiREG5->FMT1 = (0 << 24)  /* wdelay */\r
+                  | (0 << 23)  /* parity Polarity */\r
+                  | (0 << 22)  /* parity enable */\r
+                  | (0 << 21)  /* wait on enable */\r
+                  | (0 << 20)  /* shift direction */\r
+                  | (0 << 17)  /* clock polarity */\r
+                  | (0 << 16)  /* clock phase */\r
+                  | (79 << 8) /* baudrate prescale */\r
+                  | 16;  /* data word length */\r
+\r
+    /** - Data Format 2 */\r
+    mibspiREG5->FMT2 = (0 << 24)  /* wdelay */\r
+                  | (0 << 23)  /* parity Polarity */\r
+                  | (0 << 22)  /* parity enable */\r
+                  | (0 << 21)  /* wait on enable */\r
+                  | (0 << 20)  /* shift direction */\r
+                  | (0 << 17)  /* clock polarity */\r
+                  | (0 << 16)  /* clock phase */\r
+                  | (79 << 8) /* baudrate prescale */\r
+                  | 16;  /* data word length */\r
+\r
+    /** - Data Format 3 */\r
+    mibspiREG5->FMT3 = (0 << 24)  /* wdelay */\r
+                  | (0 << 23)  /* parity Polarity */\r
+                  | (0 << 22)  /* parity enable */\r
+                  | (0 << 21)  /* wait on enable */\r
+                  | (0 << 20)  /* shift direction */\r
+                  | (0 << 17)  /* clock polarity */\r
+                  | (0 << 16)  /* clock phase */\r
+                  | (79 << 8) /* baudrate prescale */\r
+                  | 16;  /* data word length */\r
+\r
+    /** - wait for buffer inialisation complete before accessing MibSPI registers */\r
+    while ((mibspiREG5->BUFINIT) != 0) { /* wait */ } \r
+\r
+    /** - inialise transfer groups */\r
+    mibspiREG5->TGCTRL[0] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | (0 << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[1] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | (8 << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[2] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0) << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[3] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0+0) << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[4] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0+0+0) << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[5] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0+0+0+0) << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[6] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0+0+0+0+0) << 8);  /* start buffer */\r
+\r
+    mibspiREG5->TGCTRL[7] = (1 << 30)  /* oneshot */\r
+                       | (0 << 29)  /* pcurrent reset */\r
+                       | (TRG_ALWAYS << 20)  /* trigger event */\r
+                       | (TRG_DISABLED << 16)  /* trigger source */\r
+                       | ((8+0+0+0+0+0+0) << 8);  /* start buffer */\r
+\r
+    \r
+    mibspiREG5->TGCTRL[8] = 8+0+0+0+0+0+0+0 << 8;\r
+\r
+    mibspiREG5->LTGPEND = 8+0+0+0+0+0+0+0-1;\r
+\r
+    /** - initalise buffer ram */\r
+    {   i = 0;\r
+\r
+        if (8 > 0)\r
+        {\r
+            while (i < 8-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_0;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_0;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_1;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_1;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_2;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_2;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_3;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_3;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_4;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_4;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0+0+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_5;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_5;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0+0+0+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_6;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_6;  /* chip select */\r
+        }\r
+        if (0 > 0)\r
+        {\r
+            while (i < 8+0+0+0+0+0+0+0-1)\r
+            {\r
+                mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                         | (0 << 12)  /* hold chip select Based on Lock selection */\r
+                                         | (0 << 11)  /* lock transmission */\r
+                                         | (0 << 8)  /* data format */\r
+                                         | CS_7;  /* chip select */\r
+            }\r
+            mibspiRAM5->tx[i++].control = (4 << 13)  /* buffer mode */\r
+                                     | (0 << 12) /* chip select hold */\r
+                                     | (0 << 10)  /* enable WDELAY */\r
+                                     | (0 << 8)  /* data format */\r
+                                     | CS_7;  /* chip select */\r
+        }\r
+    }\r
+\r
+    /** - set interrupt levels */\r
+    mibspiREG5->LVL = (0 << 9)  /* TXINT */\r
+                 | (0 << 8)  /* RXINT */\r
+                 | (0 << 6)  /* OVRNINT */\r
+                 | (0 << 4)  /* BITERR */\r
+                 | (0 << 3)  /* DESYNC */\r
+                 | (0 << 2)  /* PARERR */\r
+                 | (0 << 1) /* TIMEOUT */\r
+                 | (0);  /* DLENERR */\r
+\r
+    /** - clear any pending interrupts */\r
+    mibspiREG5->FLG = 0xFFFFU;\r
+\r
+    /** - enable interrupts */\r
+    mibspiREG5->INT0 = (0 << 9)  /* TXINT */\r
+                  | (0 << 8)  /* RXINT */\r
+                  | (0 << 6)  /* OVRNINT */\r
+                  | (0 << 4)  /* BITERR */\r
+                  | (0 << 3)  /* DESYNC */\r
+                  | (0 << 2)  /* PARERR */\r
+                  | (0 << 1) /* TIMEOUT */\r
+                  | (0);  /* DLENERR */\r
+\r
+    /** @b initalise @b MIBSPI5 @b Port */\r
+\r
+    /** - MIBSPI5 Port output values */\r
+    mibspiREG5->PCDOUT =  0        /* SCS[0] */\r
+                    | (0 << 1)  /* SCS[1] */\r
+                    | (0 << 2)  /* SCS[2] */\r
+                    | (0 << 3)  /* SCS[3] */\r
+                    | (0 << 8)  /* ENA */\r
+                    | (0 << 9)  /* CLK */\r
+                    | (0 << 10)  /* SIMO */\r
+                    | (0 << 19)\r
+                    | (0 << 25) \r
+                    | (0 << 26) \r
+                    | (0 << 27)\r
+                    | (0 << 17)  \r
+                    | (0 << 18)\r
+                    | (0 << 11); /* SOMI */\r
+\r
+    /** - MIBSPI5 Port direction */\r
+    mibspiREG5->PCDIR  =  1        /* SCS[0] */\r
+                    | (1 << 1)  /* SCS[1] */\r
+                    | (1 << 2)  /* SCS[2] */\r
+                    | (1 << 3)  /* SCS[3] */\r
+                    | (0 << 8)  /* ENA */\r
+                    | (1 << 9)  /* CLK */\r
+                    | (1 << 10)  /* SIMO */\r
+                    | (0 << 19)\r
+                    | (0 << 25) \r
+                    | (0 << 26) \r
+                    | (0 << 27)\r
+                    | (0 << 17)  \r
+                    | (0 << 18)\r
+                    | (0 << 11); /* SOMI */\r
+\r
+    /** - MIBSPI5 Port open drain enable */\r
+    mibspiREG5->PCPDR  =  0        /* SCS[0] */\r
+                    | (0 << 1)  /* SCS[1] */\r
+                    | (0 << 2)  /* SCS[2] */\r
+                    | (0 << 3)  /* SCS[3] */\r
+                    | (0 << 8)  /* ENA */\r
+                    | (0 << 9)  /* CLK */\r
+                    | (0 << 10)  /* SIMO */\r
+                    | (0 << 19)\r
+                    | (0 << 25) \r
+                    | (0 << 26) \r
+                    | (0 << 27)\r
+                    | (0 << 17)  \r
+                    | (0 << 18)\r
+                    | (0 << 11); /* SOMI */\r
+\r
+    /** - MIBSPI5 Port pullup / pulldown selection */\r
+    mibspiREG5->PCPSL  =  1        /* SCS[0] */\r
+                    | (1 << 1)  /* SCS[1] */\r
+                    | (1 << 2)  /* SCS[2] */\r
+                    | (1 << 3)  /* SCS[3] */\r
+                    | (1 << 8)  /* ENA */\r
+                    | (1 << 9)  /* CLK */\r
+                    | (1 << 10)  /* SIMO */\r
+                    | (1 << 19)\r
+                    | (1 << 25) \r
+                    | (1 << 26) \r
+                    | (1 << 27)\r
+                    | (1 << 17)  \r
+                    | (1 << 18)\r
+                    | (1 << 11); /* SOMI */\r
+\r
+    /** - MIBSPI5 Port pullup / pulldown enable*/\r
+    mibspiREG5->PCDIS  =  0        /* SCS[0] */\r
+                    | (0 << 1)  /* SCS[1] */\r
+                    | (0 << 2)  /* SCS[2] */\r
+                    | (0 << 3)  /* SCS[3] */\r
+                    | (0 << 8)  /* ENA */\r
+                    | (0 << 9)  /* CLK */\r
+                    | (0 << 10)  /* SIMO */\r
+                    | (0 << 19)\r
+                    | (0 << 25) \r
+                    | (0 << 26) \r
+                    | (0 << 27)\r
+                    | (0 << 17)  \r
+                    | (0 << 18)\r
+                    | (0 << 11); /* SOMI */\r
+\r
+    /* MIBSPI5 set all pins to functional */\r
+    mibspiREG5->PCFUN  =  1        /* SCS[0] */\r
+                    | (1 << 1)  /* SCS[1] */\r
+                    | (1 << 2)  /* SCS[2] */\r
+                    | (1 << 3)  /* SCS[3] */\r
+                    | (1 << 8)  /* ENA */\r
+                    | (1 << 9)  /* CLK */\r
+                    | (1 << 10)  /* SIMO */\r
+                    | (1 << 19)\r
+                    | (1 << 25) \r
+                    | (1 << 26) \r
+                    | (1 << 27)\r
+                    | (0 << 17)  \r
+                    | (0 << 18)\r
+                    | (1 << 11); /* SOMI */\r
+          \r
+\r
+\r
+  /** - Finaly start MIBSPI5 */\r
+    mibspiREG5->ENA = 1U;\r
+\r
+/* USER CODE BEGIN (3) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+\r
+/** @fn void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32_t port)\r
+*   @brief Change functional behavoiur of pins at runtime.\r
+*   @param[in] mibspi   - mibspi module base address\r
+*   @param[in] port  - Value to write to PCFUN register\r
+*\r
+*   Change the value of the PCFUN register at runtime, this allows to\r
+*   dynaimcaly change the functionality of the MIBSPI pins between functional\r
+*   and GIO mode.\r
+*/\r
+void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32_t port)\r
+{\r
+/* USER CODE BEGIN (4) */\r
+/* USER CODE END */\r
+\r
+    mibspi->PCFUN = port;\r
+\r
+/* USER CODE BEGIN (5) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void mibspiSetData(mibspiBASE_t *mibspi, uint32_t group, uint16_t data[])\r
+*   @brief Set Buffer Data\r
+*   @param[in] mibspi   - Spi module base address\r
+*   @param[in] group - Transfer group (0..7)\r
+*   @param[in] data  - new data for transfer group\r
+*\r
+*   This function updates the data for the specified transfer group,\r
+*   the length of the data must match the length of the transfer group.\r
+*/\r
+void mibspiSetData(mibspiBASE_t *mibspi, uint32_t group, uint16_t data[])\r
+{\r
+/* USER CODE BEGIN (6) */\r
+/* USER CODE END */\r
+\r
+    mibspiRAM_t *ram    = mibspi == mibspiREG1 ? mibspiRAM1 : (mibspi == mibspiREG3 ? mibspiRAM3 : mibspiRAM5);\r
+    uint32_t start  = (mibspi->TGCTRL[group] >> 8) & 0xFF;\r
+    uint32_t end    = group == 7 ? (mibspi->LTGPEND + 1) : (mibspi->TGCTRL[group+1] >> 8) & 0xFF;\r
+\r
+    if (end < start) {end = 128;}\r
+\r
+    while (start < end)\r
+    {\r
+        ram->tx[start].data = *data++;\r
+        start++;\r
+    }\r
+/* USER CODE BEGIN (7) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void mibspiGetData(mibspiBASE_t *mibspi, uint32_t group, uint16_t data[])\r
+*   @brief Retrieves Buffer Data fro receive buffer\r
+*   @param[in]  mibspi   - Spi module base address\r
+*   @param[in]  group - Transfer group (0..7)\r
+*   @param[out] data  - pointer to data array\r
+*\r
+*   @return error flags from data buffer, if there was a receive error on\r
+*           one of the buffers this will be rerflected in the return value.\r
+*\r
+*   This function transfers the data from the specified transfer group receve\r
+*   buffers to the data array,  the length of the data must match the length \r
+*   of the transfer group.\r
+*/\r
+uint32_t mibspiGetData(mibspiBASE_t *mibspi, uint32_t group, uint16_t data[])\r
+{\r
+/* USER CODE BEGIN (8) */\r
+/* USER CODE END */\r
+\r
+    mibspiRAM_t *ram    = mibspi == mibspiREG1 ? mibspiRAM1 : (mibspi == mibspiREG3 ? mibspiRAM3 : mibspiRAM5);\r
+    uint32_t start  = (mibspi->TGCTRL[group] >> 8) & 0xFF;\r
+    uint32_t end    = group == 7 ? (mibspi->LTGPEND + 1) : (mibspi->TGCTRL[group+1] >> 8) & 0xFF;\r
+    uint32_t flags  = 0;\r
+\r
+    if (end < start) {end = 128;}\r
+\r
+    while (start < end)\r
+    {\r
+        flags  |= ram->rx[start].flags;\r
+        *data++ = ram->rx[start].data;\r
+        start++;\r
+    }\r
+\r
+/* USER CODE BEGIN (9) */\r
+/* USER CODE END */\r
+\r
+    return (flags >> 8) & 0x5F;\r
+}\r
+\r
+\r
+/** @fn void mibspiTransfer(mibspiBASE_t *mibspi, uint32_t group)\r
+*   @brief Transmit Transfer Group\r
+*   @param[in] mibspi   - Spi module base address\r
+*   @param[in] group - Transfer group (0..7)\r
+*\r
+*   Initiates a transfer for the specified transfer group.\r
+*/\r
+void mibspiTransfer(mibspiBASE_t *mibspi, uint32_t group)\r
+{\r
+/* USER CODE BEGIN (10) */\r
+/* USER CODE END */\r
+\r
+    mibspi->TGCTRL[group] |= 0x80000000;\r
+\r
+/* USER CODE BEGIN (11) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn int mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32_t group)\r
+*   @brief Check for Transfer Group Ready\r
+*   @param[in] mibspi   - Spi module base address\r
+*   @param[in] group - Transfer group (0..7)\r
+*\r
+*   @return 1 is transfer complete, otherwise 0.\r
+*\r
+*   Checks to see if the transfer for the specified transfer group\r
+*   has finished.\r
+*/\r
+int mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32_t group)\r
+{\r
+/* USER CODE BEGIN (12) */\r
+/* USER CODE END */\r
+    return (mibspi->INTFLGRDY >> group) & 1;\r
+}\r
+\r
+\r
+/** @fn void mibspiEnableLoopback(mibspiBASE_t *mibspi, Loopbacktype_t Loopbacktype)\r
+*   @brief Enable Loopback mode for self test\r
+*   @param[in] mibspi        - Mibspi module base address\r
+*   @param[in] Loopbacktype  - Digital or Analog\r
+*\r
+*   This function enables the Loopback mode for self test.\r
+*/\r
+void mibspiEnableLoopback(mibspiBASE_t *mibspi, Loopbacktype_t Loopbacktype)\r
+{\r
+/* USER CODE BEGIN (13) */\r
+/* USER CODE END */\r
+    \r
+       /* Clear Loopback incase enbaled already */\r
+       mibspi->IOLPKTSTCR = 0;\r
+       \r
+       /* Enable Loopback either in Analog or Digital Mode */\r
+    mibspi->IOLPKTSTCR = 0x00000A00\r
+                       | Loopbacktype << 1;\r
+       \r
+/* USER CODE BEGIN (14) */\r
+/* USER CODE END */\r
+}\r
+\r
+/** @fn void mibspiDisableLoopback(mibspiBASE_t *mibspi)\r
+*   @brief Enable Loopback mode for self test\r
+*   @param[in] mibspi        - Mibspi module base address\r
+*\r
+*   This function disable the Loopback mode.\r
+*/\r
+void mibspiDisableLoopback(mibspiBASE_t *mibspi)\r
+{\r
+/* USER CODE BEGIN (15) */\r
+/* USER CODE END */\r
+    \r
+       /* Disable Loopback Mode */\r
+    mibspi->IOLPKTSTCR = 0x000005000;\r
+       \r
+/* USER CODE BEGIN (16) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32_t group, uint32_t level)\r
+*   @brief Enable Transfer Group interrupt\r
+*   @param[in] mibspi   - Spi module base address\r
+*   @param[in] group - Transfer group (0..7)\r
+*   @param[in] level - Interrupt level\r
+*\r
+*   This function enables the transfer group finished interrupt.\r
+*/\r
+void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32_t group, uint32_t level)\r
+{\r
+/* USER CODE BEGIN (17) */\r
+/* USER CODE END */\r
+\r
+    if (level != 0)\r
+    {\r
+        mibspi->SETINTLVLRDY = 1 << group;\r
+    }\r
+    else\r
+    {\r
+        mibspi->CLRINTLVLRDY = 1 << group;\r
+    }\r
+    mibspi->SETINTENARDY = 1 << group;\r
+\r
+/* USER CODE BEGIN (18) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32_t group)\r
+*   @brief Disable Transfer Group interrupt\r
+*   @param[in] mibspi   - Spi module base address\r
+*   @param[in] group - Transfer group (0..7)\r
+*\r
+*   This function disables the transfer group finished interrupt.\r
+*/\r
+void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32_t group)\r
+{\r
+/* USER CODE BEGIN (19) */\r
+/* USER CODE END */\r
+\r
+    mibspi->CLRINTENARDY = 1 << group;\r
+\r
+/* USER CODE BEGIN (20) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+\r
+/** @fn void mibspi5HighLevelInterrupt(void)\r
+*   @brief Level 0 Interrupt for MIBSPI5\r
+*/\r
+#pragma INTERRUPT(mibspi5HighLevelInterrupt, IRQ)\r
+\r
+void mibspi5HighLevelInterrupt(void)\r
+{\r
+    uint32_t vec = mibspiREG5->INTVECT0;\r
+\r
+/* USER CODE BEGIN (29) */\r
+/* USER CODE END */\r
+\r
+    if (vec > 0x21U)\r
+    {\r
+        uint32_t flags = mibspiREG5->FLG & (~mibspiREG5->LVL & 0x035F);\r
+        mibspiREG5->FLG = flags;\r
+        mibspiNotification(mibspiREG5, flags);\r
+    }\r
+    else\r
+    {\r
+        mibspiGroupNotification(mibspiREG5, ((vec & 0x3FU) >> 1U) - 1U);\r
+    }\r
+/* USER CODE BEGIN (30) */\r
+/* USER CODE END */\r
+}\r
+\r
+\r
+/** @fn void mibspi5LowLevelInterrupt(void)\r
+*   @brief Level 1 Interrupt for MIBSPI5\r
+*/\r
+#pragma INTERRUPT(mibspi5LowLevelInterrupt, IRQ)\r
+\r
+void mibspi5LowLevelInterrupt(void)\r
+{\r
+    uint32_t vec = mibspiREG5->INTVECT1;\r
+\r
+/* USER CODE BEGIN (31) */\r
+/* USER CODE END */\r
+\r
+    if (vec > 0x21U)\r
+    {\r
+        uint32_t flags = mibspiREG5->FLG & (mibspiREG5->LVL & 0x035F);\r
+        mibspiREG5->FLG = flags;\r
+        mibspiNotification(mibspiREG5, flags);\r
+    }\r
+    else\r
+    {\r
+        mibspiGroupNotification(mibspiREG5, ((vec & 0x3FU) >> 1U) - 1U);\r
+    }\r
+/* USER CODE BEGIN (32) */\r
+/* USER CODE END */\r
+}\r
+\r
diff --git a/source/mout.c b/source/mout.c
new file mode 100644 (file)
index 0000000..a7eff2c
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * mout.c
+ *
+ *  Created on: 29.8.2012
+ *      Author: michal
+ */
+
+#include "mout.h"
+
+gioPORT_t * moutPorts[12] = {  MOUT_PORT_HET, MOUT_PORT_HET, MOUT_PORT_GIO,
+                                                       MOUT_PORT_GIO, MOUT_PORT_GIO, MOUT_PORT_GIO,
+                                                       MOUT_PORT_SPI, MOUT_PORT_SPI, MOUT_PORT_GIO,
+                                                       MOUT_PORT_GIO, MOUT_PORT_GIO, MOUT_PORT_GIO
+                                                 };
+uint8_t moutBits[12] ={        MOUT1_IN_BIT, MOUT2_IN_BIT, MOUT3_IN_BIT,
+                                               MOUT4_IN_BIT, MOUT5_IN_BIT, MOUT6_IN_BIT,
+                                               MOUT1_EN_BIT, MOUT2_EN_BIT, MOUT3_EN_BIT,
+                                               MOUT4_EN_BIT, MOUT5_EN_BIT, MOUT6_EN_BIT
+                                       };
+
+/** @fn void moutSetPort(uint32_t value)
+*   @brief Set value to ports connected to MOUT
+*   @param[in] value to write to port
+*                      - bit 0 - MOUT1_IN - defined as output port HETPORT1
+*                      - bit 1 - MOUT2_IN - defined as output port HETPORT1
+*                      - bit 2 - MOUT3_IN - defined as output port GIOB
+*                      - bit 3 - MOUT4_IN - defined as output port GIOB
+*                      - bit 4 - MOUT5_IN - defined as output port GIOB
+*                      - bit 5 - MOUT6_IN - defined as output port GIOB
+*                      - bit 6 - MOUT1_EN - defined as input port SPIPORT
+*                      - bit 7 - MOUT2_EN - defined as input port SPIPORT
+*                      - bit 8 - MOUT3_EN - defined as input port GIOB
+*                      - bit 9 - MOUT4_EN - defined as input port GIOB
+*                      - bit 10 - MOUT5_EN - defined as input port GIOB
+*                      - bit 11 - MOUT6_EN - defined as input port GIOB
+*   Set value to whole MOUT port. Setting values to bits connected with ports defined as output makes no effect.
+*/
+void moutSetPort(uint32_t value) {
+       uint8_t i;
+       for (i = 0; i < 12; i++) {
+               gioSetBit(moutPorts[i], moutBits[i], value&(1<<i));
+       }
+}
+
+/** @fn void moutGetPort()
+*   @brief Get value from ports connected to MOUT
+*                      - bit 0 - MOUT1_IN - defined as output port HETPORT1
+*                      - bit 1 - MOUT2_IN - defined as output port HETPORT1
+*                      - bit 2 - MOUT3_IN - defined as output port GIOB
+*                      - bit 3 - MOUT4_IN - defined as output port GIOB
+*                      - bit 4 - MOUT5_IN - defined as output port GIOB
+*                      - bit 5 - MOUT6_IN - defined as output port GIOB
+*                      - bit 6 - MOUT1_EN - defined as input port SPIPORT
+*                      - bit 7 - MOUT2_EN - defined as input port SPIPORT
+*                      - bit 8 - MOUT3_EN - defined as input port GIOB
+*                      - bit 9 - MOUT4_EN - defined as input port GIOB
+*                      - bit 10 - MOUT5_EN - defined as input port GIOB
+*                      - bit 11 - MOUT6_EN - defined as input port GIOB
+*   Get value from whole MOUT port. Getting values from ports defined as output returns values last asserted by Controller itself.
+*/
+uint32_t moutGetPort() {
+       uint8_t i;
+       uint32_t value = 0;
+       for (i = 0; i < 12; i++) {
+               value |= (gioGetBit(moutPorts[i], moutBits[i])<<i);
+       }
+       return value;
+}
index 4a97283e20cef5ed981ad03922ee8eb0d850c4be..a7e33ca42e9a29806ce3c2f7eeaa4657c1e64ed1 100644 (file)
 #include "sys_selftest.h"\r
 #include "adc.h"\r
 #include "can.h"\r
+#include "gio.h"\r
+#include "mibspi.h"\r
 #include "sci.h"\r
+#include "het.h"\r
 /* USER CODE BEGIN (0) */\r
 #include "FreeRTOS.h"\r
 #include "os_semphr.h"\r
@@ -99,6 +102,7 @@ void adcNotification(adcBASE_t *adc, uint32_t group)
 /* USER CODE END */\r
 void canErrorNotification(canBASE_t *node, uint32_t notification)\r
 {\r
+\r
 /* USER CODE BEGIN (13) */\r
        if (notification != canERROR_OK) while(1) ;\r
 /* USER CODE END */\r
@@ -128,10 +132,42 @@ void canMessageNotification(canBASE_t *node, uint32_t messageBox)
 \r
 /* USER CODE BEGIN (16) */\r
 /* USER CODE END */\r
+void gioNotification(int bit)\r
+{\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (19) */\r
+/* USER CODE END */\r
 \r
-void sciNotification(sciBASE_t *sci, uint32_t flags)     \r
+}\r
+\r
+/* USER CODE BEGIN (20) */\r
+/* USER CODE END */\r
+void mibspiNotification(mibspiBASE_t *mibspi, uint32_t flags)\r
+{\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (25) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+/* USER CODE BEGIN (26) */\r
+/* USER CODE END */\r
+\r
+void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32_t group)\r
 {\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (27) */\r
+/* USER CODE END */\r
+\r
+}\r
+/* USER CODE BEGIN (28) */\r
+/* USER CODE END */\r
 \r
+void sciNotification(sciBASE_t *sci, uint32_t flags)     \r
+{\r
 /* USER CODE BEGIN (29) */\r
        if (sci == sciREG) {\r
                if (flags & SCI_RX_INT) {\r
@@ -144,3 +180,38 @@ void sciNotification(sciBASE_t *sci, uint32_t flags)
 \r
 /* USER CODE BEGIN (30) */\r
 /* USER CODE END */\r
+void pwmNotification(hetBASE_t * hetREG,uint32_t pwm, uint32_t notification)\r
+{\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (33) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+/* USER CODE BEGIN (34) */\r
+/* USER CODE END */\r
+\r
+void edgeNotification(hetBASE_t * hetREG,uint32_t edge)\r
+{\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (35) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+/* USER CODE BEGIN (36) */\r
+/* USER CODE END */\r
+\r
+void hetNotification(hetBASE_t *het, uint32_t offset)\r
+{\r
+/*  enter user code and remove the while loop... */\r
+    while(1);\r
+/* USER CODE BEGIN (37) */\r
+/* USER CODE END */\r
+\r
+}\r
+\r
+/* USER CODE BEGIN (38) */\r
+/* USER CODE END */\r
index 8c8b0657c473d122f89ec1311e864c283bf8d6b5..a2f31c62927ed989b53b5bc2d7d0a162853b85fd 100644 (file)
@@ -41,7 +41,7 @@ void muxInit(void){
 /* USER CODE BEGIN (2) */\r
 /* USER CODE END */\r
 \r
-        pinMuxReg->PINMUX0 = PINMUX_BALL_C3_MIBSPI3NCS_3 | PINMUX_BALL_B2_MIBSPI3NCS_2;\r
+        pinMuxReg->PINMUX0 = PINMUX_BALL_C3_HET1_29 | PINMUX_BALL_B2_HET1_27;\r
        \r
        pinMuxReg->PINMUX1 = PINMUX_BALL_E3_HET1_11 | PINMUX_BALL_E5_ETMDATA_20 | PINMUX_BALL_F5_ETMDATA_21;\r
        \r
@@ -55,17 +55,17 @@ void muxInit(void){
        \r
        pinMuxReg->PINMUX6 = PINMUX_BALL_T1_HET1_07 | PINMUX_BALL_P5_ETMDATA_27 | PINMUX_BALL_V7_HET1_09 | PINMUX_BALL_R5_ETMDATA_28;\r
        \r
-       pinMuxReg->PINMUX7 = PINMUX_BALL_R6_ETMDATA_29 | PINMUX_BALL_V5_MIBSPI3NCS_1 | PINMUX_BALL_W3_SCIRX | PINMUX_BALL_R7_ETMDATA_30;\r
+       pinMuxReg->PINMUX7 = PINMUX_BALL_R6_ETMDATA_29 | PINMUX_BALL_V5_HET1_25 | PINMUX_BALL_W3_SCIRX | PINMUX_BALL_R7_ETMDATA_30;\r
        \r
-       pinMuxReg->PINMUX8 = PINMUX_BALL_N2_SCITX | PINMUX_BALL_G3_MIBSPI1NCS_2 | PINMUX_BALL_N1_HET1_15 | PINMUX_BALL_R8_ETMDATA_31;\r
+       pinMuxReg->PINMUX8 = PINMUX_BALL_N2_SCITX | PINMUX_BALL_G3_HET1_19 | PINMUX_BALL_N1_HET1_15 | PINMUX_BALL_R8_ETMDATA_31;\r
        \r
-       pinMuxReg->PINMUX9 = PINMUX_BALL_R9_ETMTRACECLKIN | PINMUX_BALL_W9_MIBSPI3NENA | PINMUX_BALL_V10_MIBSPI3NCS_0 | PINMUX_BALL_J3_MIBSPI1NCS_3;\r
+       pinMuxReg->PINMUX9 = PINMUX_BALL_R9_ETMTRACECLKIN | PINMUX_BALL_W9_HET1_31 | PINMUX_BALL_V10_MIBSPI3NCS_0 | PINMUX_BALL_J3_HET1_21;\r
        \r
        pinMuxReg->PINMUX10 = PINMUX_BALL_N19_AD1EVT | PINMUX_BALL_N15_ETMDATA_19 | PINMUX_BALL_N17_EMIF_nCS_0 | PINMUX_BALL_M15_ETMDATA_18;\r
        \r
        pinMuxReg->PINMUX11 = PINMUX_BALL_K17_EMIF_nCS_3 | PINMUX_BALL_M17_EMIF_nCS_4 | PINMUX_BALL_L15_ETMDATA_17 | PINMUX_BALL_P1_HET1_24;\r
        \r
-       pinMuxReg->PINMUX12 = PINMUX_BALL_A14_HET1_26 | PINMUX_BALL_K15_ETMDATA_16 | PINMUX_BALL_G19_MIBSPI1NENA | PINMUX_BALL_H18_MIBSPI5NENA;\r
+       pinMuxReg->PINMUX12 = PINMUX_BALL_A14_HET1_26 | PINMUX_BALL_K15_ETMDATA_16 | PINMUX_BALL_G19_HET1_23 | PINMUX_BALL_H18_MIBSPI5NENA;\r
        \r
        pinMuxReg->PINMUX13 = PINMUX_BALL_J18_MIBSPI5SOMI_0 | PINMUX_BALL_J19_MIBSPI5SIMO_0 | PINMUX_BALL_H19_MIBSPI5CLK | PINMUX_BALL_R2_MIBSPI1NCS_0;\r
        \r
@@ -81,7 +81,7 @@ void muxInit(void){
        \r
        pinMuxReg->PINMUX19 = PINMUX_BALL_E8_ETMDATA_09 | PINMUX_BALL_B11_HET1_30 | PINMUX_BALL_E10_ETMDATA_15 | PINMUX_BALL_E7_ETMDATA_10;\r
        \r
-       pinMuxReg->PINMUX20 = PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_F3_MIBSPI1NCS_1 | PINMUX_BALL_C9_EMIF_ADDR_11;\r
+       pinMuxReg->PINMUX20 = PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_F3_HET1_17 | PINMUX_BALL_C9_EMIF_ADDR_11;\r
        \r
        pinMuxReg->PINMUX21 = PINMUX_BALL_D5_EMIF_ADDR_1 | PINMUX_BALL_C8_EMIF_ADDR_10 | PINMUX_BALL_C7_EMIF_ADDR_9;\r
        \r
index 93345eb03fd880a8a37dc60cd0cddf30a99d4f76..7841f965607d8113fd24c518a67759a0db85f3ee 100644 (file)
@@ -340,6 +340,7 @@ int sciReceiveByte(sciBASE_t *sci)
 void sciReceive(sciBASE_t *sci, uint32_t length, uint8_t *data)\r
 {\r
 /* USER CODE BEGIN (16) */\r
+       // Delete generated content after user code block!!!\r
     if (sci->SETINT & SCI_RX_INT)\r
     {\r
         /* We are in iterrupt mode, clear error flags */\r
@@ -355,7 +356,6 @@ void sciReceive(sciBASE_t *sci, uint32_t length, uint8_t *data)
         }\r
     }\r
 /* USER CODE END */\r
-\r
 /* USER CODE BEGIN (17) */\r
 /* USER CODE END */\r
 }\r
@@ -465,6 +465,7 @@ void sciHighLevelInterrupt(void)
     uint32_t vec = sciREG->INTVECT0;\r
 \r
 /* USER CODE BEGIN (26) */\r
+       // Delete generated content after user code block!!!\r
     switch (vec)\r
     {\r
     case 1:\r
@@ -511,7 +512,6 @@ void sciHighLevelInterrupt(void)
         break;\r
     }\r
 /* USER CODE END */\r
-\r
 /* USER CODE BEGIN (27) */\r
 /* USER CODE END */\r
 }\r
index 54021ca73c10ab959ed11116d906a5c00c24d08a..3a9acb1346ba457b23128f13ee68f554b5454cb2 100644 (file)
 #include "cmd_proc_freertos_tms570.h"\r
 #include "FreeRTOS.h"\r
 #include "os_task.h"\r
+#include "mibspi.h"\r
 #include "can.h"\r
 #include "adc.h"\r
+#include "gio.h"\r
+#include "het.h"\r
 /* USER CODE END */\r
 \r
 \r
@@ -42,6 +45,9 @@
 void main(void)\r
 {\r
 /* USER CODE BEGIN (3) */\r
+       gioInit();\r
+       mibspiInit();\r
+       hetInit();\r
        sciInit();\r
        canInit();\r
     adcInit();\r