From fde014118c4541d78c200e39ceec0f6c3b1803f4 Mon Sep 17 00:00:00 2001 From: Imanol-Mikel Barba Sabariego Date: Wed, 30 Jul 2014 17:12:47 +0000 Subject: [PATCH] --- BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch | 14 -------------- BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch | 10 ---------- BlinkerLaunchPad/.project | 33 --------------------------------- BlinkerLaunchPad/Blinker.obj | Bin 13768 -> 0 bytes BlinkerLaunchPad/Log/log.txt | 0 BlinkerLaunchPad/main.c | 208 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerLaunchPad/main.map | 597 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerLaunchPad/main.obj | Bin 12288 -> 0 bytes BlinkerLaunchPad/main.out | Bin 19113 -> 0 bytes BlinkerLaunchPad/makefile | 8 -------- BlinkerSchema/.gitignore | 1 - BlinkerSchema/.project | 17 ----------------- BlinkerSchema/Em/Blinker-STUBS.c | 42 ------------------------------------------ BlinkerSchema/Em/Blinker.c | 526 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerSchema/Em/Blinker.h | 72 ------------------------------------------------------------------------ BlinkerSchema/Em/Em_Message.h | 182 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerSchema/Em/Em_Types.h | 17 ----------------- BlinkerSchema/Em/blinker.json | 262 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems | 72 ------------------------------------------------------------------------ BlinkerSchema/bundle.properties | 10 ---------- BlinkerSchema/imports/system@emmoco.com/System.ems | 60 ------------------------------------------------------------ BlinkerSchema/out/Blinker-TODO.c | 42 ------------------------------------------ BlinkerSchema/out/Blinker.c | 348 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ BlinkerSchema/out/Blinker.h | 61 ------------------------------------------------------------- BlinkerSchema/out/Blinker.zip | Bin 4559 -> 0 bytes BlinkerSchema/out/Em_Message.h | 83 ----------------------------------------------------------------------------------- BlinkerSchema/out/Em_Types.h | 12 ------------ BlinkerSchema/out/blinker.json | 233 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlinkerSchema/schema.ems | 32 -------------------------------- CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch | 14 -------------- CommonLaunchPad/.project | 11 ----------- CommonLaunchPad/rules.mk | 69 --------------------------------------------------------------------- DUREX Vendor Control/CommunicationProtocol.m | 2 +- DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate | Bin 70498 -> 0 bytes DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist | 4 ++-- DUREX/.project | 17 ----------------- DUREX/Em/DUREX-STUBS.c | 46 ---------------------------------------------- DUREX/Em/DUREX.c | 540 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ DUREX/Em/DUREX.h | 68 -------------------------------------------------------------------- DUREX/Em/Em_Message.h | 182 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DUREX/Em/Em_Types.h | 17 ----------------- DUREX/Em/durex.json | 247 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DUREX/Schema-Imports/system@emmoco.com/System.ems | 72 ------------------------------------------------------------------------ DUREX/bundle.properties | 10 ---------- DUREX/imports/system@emmoco.com/System.ems | 60 ------------------------------------------------------------ DUREX/out/DUREX-TODO.c | 50 -------------------------------------------------- DUREX/out/DUREX.c | 355 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DUREX/out/DUREX.h | 59 ----------------------------------------------------------- DUREX/out/DUREX.zip | Bin 4630 -> 0 bytes DUREX/out/Em_Message.h | 83 ----------------------------------------------------------------------------------- DUREX/out/Em_Types.h | 12 ------------ DUREX/out/durex.json | 221 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DUREX/schema.ems | 16 ---------------- DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Builder.launch | 14 -------------- DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Cleaner.launch | 10 ---------- DUREXLaunchpad/.gitignore | 2 -- DUREXLaunchpad/.project | 33 --------------------------------- DUREXLaunchpad/.settings/org.eclipse.ltk.core.refactoring.prefs | 2 -- DUREXLaunchpad/DUREX.obj | Bin 13972 -> 0 bytes DUREXLaunchpad/Log/log.txt | 0 DUREXLaunchpad/main.c | 270 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ DUREXLaunchpad/main.map | 620 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DUREXLaunchpad/main.obj | Bin 14168 -> 0 bytes DUREXLaunchpad/main.out | Bin 21781 -> 0 bytes DUREXLaunchpad/makefile | 8 -------- ISG-DUREX/examples-12.1.1.zip | Bin 8956553 -> 0 bytes ISG-DUREX/examples.tar.gz | Bin 0 -> 477221 bytes Platform-MSP-EXP430G2/.project | 11 +++++++++++ Platform-MSP-EXP430G2/Hal/Hal.c | 400 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Platform-MSP-EXP430G2/Hal/Hal.h | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Platform-MSP-EXP430G2/common.mk | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Platform-MSP-EXP430G2/rules.mk | 22 ++++++++++++++++++++++ 72 files changed, 821 insertions(+), 6053 deletions(-) delete mode 100644 BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch delete mode 100644 BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch delete mode 100644 BlinkerLaunchPad/.project delete mode 100644 BlinkerLaunchPad/Blinker.obj delete mode 100644 BlinkerLaunchPad/Log/log.txt delete mode 100644 BlinkerLaunchPad/main.c delete mode 100644 BlinkerLaunchPad/main.map delete mode 100644 BlinkerLaunchPad/main.obj delete mode 100755 BlinkerLaunchPad/main.out delete mode 100644 BlinkerLaunchPad/makefile delete mode 100644 BlinkerSchema/.gitignore delete mode 100644 BlinkerSchema/.project delete mode 100644 BlinkerSchema/Em/Blinker-STUBS.c delete mode 100644 BlinkerSchema/Em/Blinker.c delete mode 100644 BlinkerSchema/Em/Blinker.h delete mode 100644 BlinkerSchema/Em/Em_Message.h delete mode 100644 BlinkerSchema/Em/Em_Types.h delete mode 100644 BlinkerSchema/Em/blinker.json delete mode 100644 BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems delete mode 100644 BlinkerSchema/bundle.properties delete mode 100644 BlinkerSchema/imports/system@emmoco.com/System.ems delete mode 100644 BlinkerSchema/out/Blinker-TODO.c delete mode 100644 BlinkerSchema/out/Blinker.c delete mode 100644 BlinkerSchema/out/Blinker.h delete mode 100644 BlinkerSchema/out/Blinker.zip delete mode 100644 BlinkerSchema/out/Em_Message.h delete mode 100644 BlinkerSchema/out/Em_Types.h delete mode 100644 BlinkerSchema/out/blinker.json delete mode 100644 BlinkerSchema/schema.ems delete mode 100644 CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch delete mode 100644 CommonLaunchPad/.project delete mode 100644 CommonLaunchPad/rules.mk delete mode 100644 DUREX/.project delete mode 100644 DUREX/Em/DUREX-STUBS.c delete mode 100644 DUREX/Em/DUREX.c delete mode 100644 DUREX/Em/DUREX.h delete mode 100644 DUREX/Em/Em_Message.h delete mode 100644 DUREX/Em/Em_Types.h delete mode 100644 DUREX/Em/durex.json delete mode 100644 DUREX/Schema-Imports/system@emmoco.com/System.ems delete mode 100644 DUREX/bundle.properties delete mode 100644 DUREX/imports/system@emmoco.com/System.ems delete mode 100644 DUREX/out/DUREX-TODO.c delete mode 100644 DUREX/out/DUREX.c delete mode 100644 DUREX/out/DUREX.h delete mode 100644 DUREX/out/DUREX.zip delete mode 100644 DUREX/out/Em_Message.h delete mode 100644 DUREX/out/Em_Types.h delete mode 100644 DUREX/out/durex.json delete mode 100644 DUREX/schema.ems delete mode 100644 DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Builder.launch delete mode 100644 DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Cleaner.launch delete mode 100644 DUREXLaunchpad/.gitignore delete mode 100644 DUREXLaunchpad/.project delete mode 100644 DUREXLaunchpad/.settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100644 DUREXLaunchpad/DUREX.obj delete mode 100644 DUREXLaunchpad/Log/log.txt delete mode 100644 DUREXLaunchpad/main.c delete mode 100644 DUREXLaunchpad/main.map delete mode 100644 DUREXLaunchpad/main.obj delete mode 100755 DUREXLaunchpad/main.out delete mode 100644 DUREXLaunchpad/makefile delete mode 100644 ISG-DUREX/examples-12.1.1.zip create mode 100644 ISG-DUREX/examples.tar.gz create mode 100644 Platform-MSP-EXP430G2/.project create mode 100644 Platform-MSP-EXP430G2/Hal/Hal.c create mode 100644 Platform-MSP-EXP430G2/Hal/Hal.h create mode 100644 Platform-MSP-EXP430G2/common.mk create mode 100644 Platform-MSP-EXP430G2/rules.mk diff --git a/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch b/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch deleted file mode 100644 index c34dfd5..0000000 --- a/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch b/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch deleted file mode 100644 index 616ed7c..0000000 --- a/BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BlinkerLaunchPad/.project b/BlinkerLaunchPad/.project deleted file mode 100644 index 99aa023..0000000 --- a/BlinkerLaunchPad/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - BlinkerLaunchPad - - - BlinkerSchema - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - full,incremental, - - - LaunchConfigHandle - <project>/.externalToolBuilders/Blinker LaunchPad Builder.launch - - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - clean, - - - LaunchConfigHandle - <project>/.externalToolBuilders/Blinker LaunchPad Cleaner.launch - - - - - - com.emmoco.mcmtooling.example.mcmToolingExampleNature - - diff --git a/BlinkerLaunchPad/Blinker.obj b/BlinkerLaunchPad/Blinker.obj deleted file mode 100644 index a7bde40..0000000 Binary files a/BlinkerLaunchPad/Blinker.obj and /dev/null differ diff --git a/BlinkerLaunchPad/Log/log.txt b/BlinkerLaunchPad/Log/log.txt deleted file mode 100644 index e69de29..0000000 --- a/BlinkerLaunchPad/Log/log.txt +++ /dev/null diff --git a/BlinkerLaunchPad/main.c b/BlinkerLaunchPad/main.c deleted file mode 100644 index 8479ccd..0000000 --- a/BlinkerLaunchPad/main.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - * ============ Platform Configuration ============ - */ - -#include - -#define LED_ON() (P1OUT |= BIT6) -#define LED_OFF() (P1OUT &= ~BIT6) -#define LED_READ() (P1OUT & BIT6) -#define LED_TOGGLE() (P1OUT ^= BIT6) - -#define CONNECTED_LED_ON() (P1OUT |= BIT0) -#define CONNECTED_LED_OFF() (P1OUT &= ~BIT0) - -#define EAP_RX_BUF UCA0RXBUF -#define EAP_TX_BUF UCA0TXBUF - -#define EAP_RX_VECTOR USCIAB0RX_VECTOR -#define EAP_TX_VECTOR PORT2_VECTOR - -#define EAP_RX_ACK_CONFIG() (P2DIR |= BIT0) -#define EAP_RX_ACK_SET() (P2OUT |= BIT0) -#define EAP_RX_ACK_CLR() (P2OUT &= ~BIT0) - -#define EAP_TX_INT_CONFIG() (P2DIR &= ~BIT1, P2IES |= BIT1, P2IFG &= BIT1, P2IE |= BIT1) -#define EAP_TX_INT_TST() (P2IFG & BIT1) -#define EAP_TX_INT_CLR() (P2IFG &= ~BIT1) - -void init(void) { - - WDTCTL = WDTPW + WDTHOLD; - BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0; - if (CALBC1_1MHZ != 0xFF) { - DCOCTL = 0x00; - BCSCTL1 = CALBC1_1MHZ; /* Set DCO to 1MHz */ - DCOCTL = CALDCO_1MHZ; - } - BCSCTL1 |= XT2OFF + DIVA_0; - BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1; - - P1DIR |= BIT0; /* LED */ - LED_OFF(); - P1DIR |= BIT6; /* CONNECTED_LED */ - CONNECTED_LED_OFF(); - - UCA0CTL1 |= UCSWRST; - - P1SEL |= BIT1 + BIT2; - P1SEL2 |= BIT1 + BIT2; - - EAP_RX_ACK_CONFIG(); - EAP_RX_ACK_SET(); - - EAP_TX_INT_CONFIG(); - - UCA0CTL1 = UCSSEL_2 + UCSWRST; - UCA0MCTL = UCBRF_0 + UCBRS_6; - UCA0BR0 = 8; - UCA0CTL1 &= ~UCSWRST; - - IFG2 &= ~(UCA0RXIFG); - IE2 |= UCA0RXIE; - - TA1CCTL0 = CM_0 + CCIS_0 + OUTMOD_0 + CCIE; - TA1CCR0 = 1200; - TA1CTL = TASSEL_1 + ID_0 + MC_1; - - __enable_interrupt(); -} - -/* - * ============ Serial Driver ============ - */ - -#include - -__attribute__((interrupt(EAP_RX_VECTOR))) -static void rxHandler(void) { - uint8_t b = EAP_RX_BUF; - if (Em_Message_addByte(b)) { - Em_Message_dispatch(); - } - EAP_RX_ACK_CLR(); - EAP_RX_ACK_SET(); -} - -__attribute__((interrupt(EAP_TX_VECTOR))) -static void txHandler(void) { - if (EAP_TX_INT_TST()) { - uint8_t b; - if (Em_Message_getByte(&b)) { - EAP_TX_BUF = b; - } - EAP_TX_INT_CLR(); - } -} - -void Em_Message_startSend() { - uint8_t b; - if (Em_Message_getByte(&b)) { - UCA0TXBUF = b; - } -} - -uint8_t Em_Message_lock() { - uint8_t key; - asm ("MOV r2, %0": "=r" (key)); - key &= 0x8; - asm ("DINT"); - return key; -} - -void Em_Message_unlock(uint8_t key) { - if (key) { - asm ("EINT"); - } - else { - asm ("DINT"); - } -} - -/* - * ============ Application Program ============ - */ - -#include - -#define COUNT_DEFAULT 5 - -volatile Blinker_cmd_t cmdRes = Blinker_STOP_CMD; -volatile Blinker_count_t countRes = COUNT_DEFAULT; -volatile Blinker_delay_t delayRes = Blinker_delay_min; - -volatile Blinker_count_t curCount; -volatile Blinker_delay_t curTime; - -__attribute__((interrupt(TIMER1_A0_VECTOR))) -void tickHandler(void) { - if (cmdRes == Blinker_STOP_CMD) { - return; - } - if (curTime < delayRes) { - curTime += Blinker_delay_step; - return; - } - else { - curTime = 0; - } - if (curCount-- > 0) { - LED_TOGGLE(); - } - else { - cmdRes = Blinker_STOP_CMD; - LED_OFF(); - } - Blinker_ledState_indicate(); -} - -int main(int argc, char *argv[]) { - volatile int dummy = 0; - init(); - Blinker_run(); - while (dummy == 0) { - /* idle */ - } - return 0; -} - -void Blinker_connectHandler(void) { - CONNECTED_LED_ON(); -} - -void Blinker_disconnectHandler(void) { - CONNECTED_LED_OFF(); -} - -void Blinker_cmd_store(Blinker_cmd_t* input) { - cmdRes = *input; - switch (cmdRes) { - case Blinker_START_CMD: - curCount = countRes * 2; - curTime = 0; - break; - case Blinker_STOP_CMD: - LED_OFF(); - break; - } -} - -void Blinker_count_fetch(Blinker_count_t* output) { - *output = countRes; -} - -void Blinker_count_store(Blinker_count_t* input) { - countRes = *input; -} - -void Blinker_delay_fetch(Blinker_delay_t* output) { - *output = delayRes; -} - -void Blinker_delay_store(Blinker_delay_t* input) { - delayRes = *input; -} - -void Blinker_ledState_fetch(Blinker_ledState_t* output) { - *output = LED_READ() ? Blinker_LED_ON : Blinker_LED_OFF; -} diff --git a/BlinkerLaunchPad/main.map b/BlinkerLaunchPad/main.map deleted file mode 100644 index 88ac95a..0000000 --- a/BlinkerLaunchPad/main.map +++ /dev/null @@ -1,597 +0,0 @@ -Archive member included because of file (symbol) - -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_reset_vector__) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__watchdog_support) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__init_stack) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__low_level_init) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_copy_data) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_clear_bss) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__stop_progExec__) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (_endless_loop__) -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_unexpected_) - -Allocating common symbols -Common symbol size file - -Em_App_recvIdx 0x1 Blinker.obj -Em_App_xmitSize 0x1 Blinker.obj -Em_App_outBuf 0x2 Blinker.obj -curTime 0x2 main.obj -Em_App_ind 0xa Blinker.obj -Em_App_xmitMask 0x4 Blinker.obj -Em_App_msg 0x1a Blinker.obj -Em_App_recvSize 0x1 Blinker.obj -Em_App_fileIndex 0x4 Blinker.obj -Em_App_pdHdlr 0x2 Blinker.obj -Em_App_xmitIdx 0x1 Blinker.obj -curCount 0x2 main.obj - -Memory Configuration - -Name Origin Length Attributes -sfr 0x0000000000000000 0x0000000000000010 -peripheral_8bit 0x0000000000000010 0x00000000000000f0 -peripheral_16bit 0x0000000000000100 0x0000000000000100 -ram 0x0000000000000200 0x0000000000000200 xw -infomem 0x0000000000001000 0x0000000000000100 -infod 0x0000000000001000 0x0000000000000040 -infoc 0x0000000000001040 0x0000000000000040 -infob 0x0000000000001080 0x0000000000000040 -infoa 0x00000000000010c0 0x0000000000000040 -rom 0x000000000000c000 0x0000000000003fe0 xr -vectors 0x000000000000ffe0 0x0000000000000020 -bsl 0x0000000000000000 0x0000000000000000 -far_rom 0x0000000000000000 0x0000000000000000 -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o -LOAD main.obj -LOAD Blinker.obj -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a - 0x0000000000000040 PROVIDE (__info_segment_size, 0x40) - 0x0000000000001000 PROVIDE (__infod, 0x1000) - 0x0000000000001040 PROVIDE (__infoc, 0x1040) - 0x0000000000001080 PROVIDE (__infob, 0x1080) - 0x00000000000010c0 PROVIDE (__infoa, 0x10c0) - 0x0000000000000000 __IE1 = 0x0 - 0x0000000000000002 __IFG1 = 0x2 - 0x0000000000000001 __IE2 = 0x1 - 0x0000000000000003 __IFG2 = 0x3 - 0x0000000000000048 __ADC10DTC0 = 0x48 - 0x0000000000000049 __ADC10DTC1 = 0x49 - 0x000000000000004a __ADC10AE0 = 0x4a - 0x00000000000001b0 __ADC10CTL0 = 0x1b0 - 0x00000000000001b2 __ADC10CTL1 = 0x1b2 - 0x00000000000001b4 __ADC10MEM = 0x1b4 - 0x00000000000001bc __ADC10SA = 0x1bc - 0x0000000000000056 __DCOCTL = 0x56 - 0x0000000000000057 __BCSCTL1 = 0x57 - 0x0000000000000058 __BCSCTL2 = 0x58 - 0x0000000000000053 __BCSCTL3 = 0x53 - 0x0000000000000059 __CACTL1 = 0x59 - 0x000000000000005a __CACTL2 = 0x5a - 0x000000000000005b __CAPD = 0x5b - 0x0000000000000128 __FCTL1 = 0x128 - 0x000000000000012a __FCTL2 = 0x12a - 0x000000000000012c __FCTL3 = 0x12c - 0x0000000000000020 __P1IN = 0x20 - 0x0000000000000021 __P1OUT = 0x21 - 0x0000000000000022 __P1DIR = 0x22 - 0x0000000000000023 __P1IFG = 0x23 - 0x0000000000000024 __P1IES = 0x24 - 0x0000000000000025 __P1IE = 0x25 - 0x0000000000000026 __P1SEL = 0x26 - 0x0000000000000041 __P1SEL2 = 0x41 - 0x0000000000000027 __P1REN = 0x27 - 0x0000000000000028 __P2IN = 0x28 - 0x0000000000000029 __P2OUT = 0x29 - 0x000000000000002a __P2DIR = 0x2a - 0x000000000000002b __P2IFG = 0x2b - 0x000000000000002c __P2IES = 0x2c - 0x000000000000002d __P2IE = 0x2d - 0x000000000000002e __P2SEL = 0x2e - 0x0000000000000042 __P2SEL2 = 0x42 - 0x000000000000002f __P2REN = 0x2f - 0x0000000000000018 __P3IN = 0x18 - 0x0000000000000019 __P3OUT = 0x19 - 0x000000000000001a __P3DIR = 0x1a - 0x000000000000001b __P3SEL = 0x1b - 0x0000000000000043 __P3SEL2 = 0x43 - 0x0000000000000010 __P3REN = 0x10 - 0x000000000000012e __TA0IV = 0x12e - 0x0000000000000160 __TA0CTL = 0x160 - 0x0000000000000162 __TA0CCTL0 = 0x162 - 0x0000000000000164 __TA0CCTL1 = 0x164 - 0x0000000000000166 __TA0CCTL2 = 0x166 - 0x0000000000000170 __TA0R = 0x170 - 0x0000000000000172 __TA0CCR0 = 0x172 - 0x0000000000000174 __TA0CCR1 = 0x174 - 0x0000000000000176 __TA0CCR2 = 0x176 - 0x000000000000011e __TA1IV = 0x11e - 0x0000000000000180 __TA1CTL = 0x180 - 0x0000000000000182 __TA1CCTL0 = 0x182 - 0x0000000000000184 __TA1CCTL1 = 0x184 - 0x0000000000000186 __TA1CCTL2 = 0x186 - 0x0000000000000190 __TA1R = 0x190 - 0x0000000000000192 __TA1CCR0 = 0x192 - 0x0000000000000194 __TA1CCR1 = 0x194 - 0x0000000000000196 __TA1CCR2 = 0x196 - 0x0000000000000060 __UCA0CTL0 = 0x60 - 0x0000000000000061 __UCA0CTL1 = 0x61 - 0x0000000000000062 __UCA0BR0 = 0x62 - 0x0000000000000063 __UCA0BR1 = 0x63 - 0x0000000000000064 __UCA0MCTL = 0x64 - 0x0000000000000065 __UCA0STAT = 0x65 - 0x0000000000000066 __UCA0RXBUF = 0x66 - 0x0000000000000067 __UCA0TXBUF = 0x67 - 0x000000000000005d __UCA0ABCTL = 0x5d - 0x000000000000005e __UCA0IRTCTL = 0x5e - 0x000000000000005f __UCA0IRRCTL = 0x5f - 0x0000000000000068 __UCB0CTL0 = 0x68 - 0x0000000000000069 __UCB0CTL1 = 0x69 - 0x000000000000006a __UCB0BR0 = 0x6a - 0x000000000000006b __UCB0BR1 = 0x6b - 0x000000000000006c __UCB0I2CIE = 0x6c - 0x000000000000006d __UCB0STAT = 0x6d - 0x000000000000006e __UCB0RXBUF = 0x6e - 0x000000000000006f __UCB0TXBUF = 0x6f - 0x0000000000000118 __UCB0I2COA = 0x118 - 0x000000000000011a __UCB0I2CSA = 0x11a - 0x0000000000000120 __WDTCTL = 0x120 - 0x00000000000010f8 __CALDCO_16MHZ = 0x10f8 - 0x00000000000010f9 __CALBC1_16MHZ = 0x10f9 - 0x00000000000010fa __CALDCO_12MHZ = 0x10fa - 0x00000000000010fb __CALBC1_12MHZ = 0x10fb - 0x00000000000010fc __CALDCO_8MHZ = 0x10fc - 0x00000000000010fd __CALBC1_8MHZ = 0x10fd - 0x00000000000010fe __CALDCO_1MHZ = 0x10fe - 0x00000000000010ff __CALBC1_1MHZ = 0x10ff - -.hash - *(.hash) - -.dynsym - *(.dynsym) - -.dynstr - *(.dynstr) - -.gnu.version - *(.gnu.version) - -.gnu.version_d - *(.gnu.version_d) - -.gnu.version_r - *(.gnu.version_r) - -.rel.init - *(.rel.init) - -.rela.init - *(.rela.init) - -.rel.fini - *(.rel.fini) - -.rela.fini - *(.rela.fini) - -.rel.text - *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) - -.rela.text - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) - -.rel.rodata - *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) - -.rela.rodata - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) - -.rel.data - *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) - -.rela.data - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) - -.rel.bss - *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) - -.rela.bss - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - -.rel.ctors - *(.rel.ctors) - -.rela.ctors - *(.rela.ctors) - -.rel.dtors - *(.rel.dtors) - -.rela.dtors - *(.rela.dtors) - -.rel.got - *(.rel.got) - -.rela.got - *(.rela.got) - -.rel.plt - *(.rel.plt) - -.rela.plt - *(.rela.plt) - -.text 0x000000000000c000 0x656 - 0x000000000000c000 . = ALIGN (0x2) - *(.init .init.*) - *(.init0) - .init0 0x000000000000c000 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - 0x000000000000c000 _reset_vector__ - *(.init1) - .init1 0x000000000000c000 0xc /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - 0x000000000000c000 __watchdog_support - *(.init2) - .init2 0x000000000000c00c 0x4 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - 0x000000000000c00c __init_stack - *(.init3) - .init3 0x000000000000c010 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - 0x000000000000c010 __low_level_init - *(.init4) - .init4 0x000000000000c010 0x18 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - 0x000000000000c010 __do_copy_data - .init4 0x000000000000c028 0x16 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - 0x000000000000c028 __do_clear_bss - *(.init5) - *(.init6) - *(.init7) - *(.init8) - *(.init9) - .init9 0x000000000000c03e 0x18 main.obj - 0x000000000000c03e main - *(.fini9) - .fini9 0x000000000000c056 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - 0x000000000000c056 __stop_progExec__ - *(.fini8) - *(.fini7) - *(.fini6) - *(.fini5) - *(.fini4) - *(.fini3) - *(.fini2) - *(.fini1) - *(.fini0) - .fini0 0x000000000000c056 0x6 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - 0x000000000000c056 _endless_loop__ - *(.fini .fini.*) - 0x000000000000c05c . = ALIGN (0x2) - 0x000000000000c05c __ctors_start = . - *(.ctors) - 0x000000000000c05c __ctors_end = . - 0x000000000000c05c __dtors_start = . - *(.dtors) - 0x000000000000c05c __dtors_end = . - 0x000000000000c05c . = ALIGN (0x2) - *(.text .text.* .gnu.linkonce.t.*) - .text 0x000000000000c05c 0x4 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - 0x000000000000c05c __isr_1 - 0x000000000000c05c __isr_4 - 0x000000000000c05c __isr_11 - 0x000000000000c05c __isr_5 - 0x000000000000c05c __isr_2 - 0x000000000000c05c __isr_10 - 0x000000000000c05c __isr_0 - 0x000000000000c05c __isr_8 - 0x000000000000c05c __isr_12 - 0x000000000000c05c __isr_9 - 0x000000000000c05c __isr_6 - 0x000000000000c05c __isr_14 - .text.crt0 0x000000000000c060 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .text 0x000000000000c060 0x1f4 main.obj - 0x000000000000c060 init - 0x000000000000c104 __isr_7 - 0x000000000000c130 __isr_3 - 0x000000000000c162 Em_Message_startSend - 0x000000000000c176 Em_Message_lock - 0x000000000000c17e Em_Message_unlock - 0x000000000000c18a tickHandler - 0x000000000000c18a __isr_13 - 0x000000000000c1ea Blinker_connectHandler - 0x000000000000c1f0 Blinker_disconnectHandler - 0x000000000000c1f8 Blinker_cmd_store - 0x000000000000c222 Blinker_count_fetch - 0x000000000000c22a Blinker_count_store - 0x000000000000c230 Blinker_delay_fetch - 0x000000000000c238 Blinker_delay_store - 0x000000000000c23e Blinker_ledState_fetch - .text 0x000000000000c254 0x400 Blinker.obj - 0x000000000000c254 Em_Message_addByte - 0x000000000000c29c Blinker_reset - 0x000000000000c2ca Blinker_run - 0x000000000000c2d0 Em_App_startIndSend - 0x000000000000c2ea Blinker_pairingOn - 0x000000000000c30c Blinker_pairingOff - 0x000000000000c316 Blinker_disconnect - 0x000000000000c338 Blinker_accept - 0x000000000000c356 Em_App_startResSend - 0x000000000000c370 Em_App_xmitReady - 0x000000000000c3c4 Em_App_sendResponse - 0x000000000000c3e8 Em_App_sysStoreDispatch - 0x000000000000c402 Em_App_sysFetchDispatch - 0x000000000000c482 Em_App_fetchDispatch - 0x000000000000c4c0 Em_App_storeDispatch - 0x000000000000c4f8 Em_Message_dispatch - 0x000000000000c556 Em_App_sendIndicator - 0x000000000000c586 Em_Message_getByte - 0x000000000000c63c Blinker_ledState_indicate - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - .text.crt0 0x000000000000c654 0x2 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - 0x000000000000c654 _unexpected_ - 0x000000000000c656 . = ALIGN (0x2) - -.rodata 0x000000000000c656 0x32 - 0x000000000000c656 . = ALIGN (0x2) - *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x000000000000c656 0x32 Blinker.obj - 0x000000000000c66a Em_App_endian - 0x000000000000c66c Em_App_build - 0x000000000000c674 Em_App_hash - 0x000000000000c688 . = ALIGN (0x2) - 0x000000000000c688 _etext = . - -.data 0x0000000000000200 0xa load address 0x000000000000c688 - 0x0000000000000200 . = ALIGN (0x2) - 0x0000000000000200 PROVIDE (__data_start, .) - *(.data .data.* .gnu.linkonce.d.*) - .data 0x0000000000000200 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .data 0x0000000000000200 0x6 main.obj - 0x0000000000000200 delayRes - 0x0000000000000202 countRes - 0x0000000000000204 cmdRes - .data 0x0000000000000206 0x4 Blinker.obj - 0x0000000000000206 Em_App_inBuf - 0x0000000000000208 Em_App_readIdle - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - 0x000000000000020a . = ALIGN (0x2) - 0x000000000000020a _edata = . - 0x000000000000c688 PROVIDE (__data_load_start, LOADADDR (.data)) - 0x000000000000000a PROVIDE (__data_size, SIZEOF (.data)) - -.bss 0x000000000000020a 0x3e load address 0x000000000000c692 - 0x000000000000020a PROVIDE (__bss_start, .) - *(.bss .bss.*) - .bss 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .bss 0x000000000000020a 0x0 main.obj - .bss 0x000000000000020a 0x4 Blinker.obj - 0x000000000000020a Em_App_moreData - 0x000000000000020c Em_App_state - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - *(COMMON) - COMMON 0x000000000000020e 0x4 main.obj - 0x000000000000020e curTime - 0x0000000000000210 curCount - COMMON 0x0000000000000212 0x35 Blinker.obj - 0x0000000000000212 Em_App_recvIdx - 0x0000000000000213 Em_App_xmitSize - 0x0000000000000214 Em_App_outBuf - 0x0000000000000216 Em_App_ind - 0x0000000000000220 Em_App_xmitMask - 0x0000000000000224 Em_App_msg - 0x000000000000023e Em_App_recvSize - 0x0000000000000240 Em_App_fileIndex - 0x0000000000000244 Em_App_pdHdlr - 0x0000000000000246 Em_App_xmitIdx - 0x0000000000000248 . = ALIGN (0x2) - *fill* 0x0000000000000247 0x1 00 - 0x0000000000000248 PROVIDE (__bss_end, .) - 0x000000000000003e PROVIDE (__bss_size, SIZEOF (.bss)) - -.noinit 0x0000000000000248 0x2 load address 0x000000000000c692 - 0x0000000000000248 PROVIDE (__noinit_start, .) - *(.noinit .noinit.*) - .noinit.crt0 0x0000000000000248 0x2 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - 0x0000000000000248 __wdt_clear_value - 0x000000000000024a . = ALIGN (0x2) - 0x000000000000024a PROVIDE (__noinit_end, .) - 0x000000000000024a . = ALIGN (0x2) - 0x000000000000024a _end = . - -.infomem 0x0000000000001000 0x0 - *(.infomem) - 0x0000000000001000 . = ALIGN (0x2) - *(.infomem.*) - -.infomemnobits 0x0000000000001000 0x0 - *(.infomemnobits) - 0x0000000000001000 . = ALIGN (0x2) - *(.infomemnobits.*) - -.infoa - *(.infoa .infoa.*) - -.infob - *(.infob .infob.*) - -.infoc - *(.infoc .infoc.*) - -.infod - *(.infod .infod.*) - -.vectors 0x000000000000ffe0 0x20 - 0x000000000000ffe0 PROVIDE (__vectors_start, .) - *(.vectors*) - .vectors 0x000000000000ffe0 0x20 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - 0x000000000000ffe0 __ivtbl_16 - 0x0000000000010000 _vectors_end = . - -.fartext 0x0000000000000000 0x0 - 0x0000000000000000 . = ALIGN (0x2) - *(.fartext) - 0x0000000000000000 . = ALIGN (0x2) - *(.fartext.*) - 0x0000000000000000 _efartext = . - -.profiler - *(.profiler) - -.stab - *(.stab) - -.stabstr - *(.stabstr) - -.stab.excl - *(.stab.excl) - -.stab.exclstr - *(.stab.exclstr) - -.stab.index - *(.stab.index) - -.stab.indexstr - *(.stab.indexstr) - -.comment - *(.comment) - -.debug - *(.debug) - -.line - *(.line) - -.debug_srcinfo - *(.debug_srcinfo) - -.debug_sfnames - *(.debug_sfnames) - -.debug_aranges 0x0000000000000000 0xa4 - *(.debug_aranges) - .debug_aranges - 0x0000000000000000 0x18 main.obj - .debug_aranges - 0x0000000000000018 0x14 Blinker.obj - .debug_aranges - 0x000000000000002c 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_aranges - 0x0000000000000040 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_aranges - 0x0000000000000054 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_aranges - 0x0000000000000068 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_aranges - 0x000000000000007c 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_aranges - 0x0000000000000090 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_pubnames - *(.debug_pubnames) - -.debug_info 0x0000000000000000 0x11f6 - *(.debug_info) - .debug_info 0x0000000000000000 0x74e main.obj - .debug_info 0x000000000000074e 0x74e Blinker.obj - .debug_info 0x0000000000000e9c 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_info 0x0000000000000f2b 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_info 0x0000000000000fba 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_info 0x0000000000001049 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_info 0x00000000000010d8 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_info 0x0000000000001167 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - *(.gnu.linkonce.wi.*) - -.debug_abbrev 0x0000000000000000 0x456 - *(.debug_abbrev) - .debug_abbrev 0x0000000000000000 0x1b0 main.obj - .debug_abbrev 0x00000000000001b0 0x22e Blinker.obj - .debug_abbrev 0x00000000000003de 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_abbrev 0x00000000000003f2 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_abbrev 0x0000000000000406 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_abbrev 0x000000000000041a 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_abbrev 0x000000000000042e 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_abbrev 0x0000000000000442 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_line 0x0000000000000000 0x61e - *(.debug_line) - .debug_line 0x0000000000000000 0x16a main.obj - .debug_line 0x000000000000016a 0x205 Blinker.obj - .debug_line 0x000000000000036f 0x72 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_line 0x00000000000003e1 0x70 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_line 0x0000000000000451 0x76 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_line 0x00000000000004c7 0x76 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_line 0x000000000000053d 0x71 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_line 0x00000000000005ae 0x70 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_frame 0x0000000000000000 0x22e - *(.debug_frame) - .debug_frame 0x0000000000000000 0x11a main.obj - .debug_frame 0x000000000000011a 0x114 Blinker.obj - -.debug_str 0x0000000000000000 0x6c6 - *(.debug_str) - .debug_str 0x0000000000000000 0x32a main.obj - 0x42a (size before relaxing) - .debug_str 0x000000000000032a 0x39c Blinker.obj - 0x49b (size before relaxing) - -.debug_loc 0x0000000000000000 0x381 - *(.debug_loc) - .debug_loc 0x0000000000000000 0xf6 main.obj - .debug_loc 0x00000000000000f6 0x28b Blinker.obj - -.debug_macinfo - *(.debug_macinfo) - -.debug_pubtypes - *(.debug_pubtypes) - -.debug_ranges 0x0000000000000000 0xc - *(.debug_ranges) - .debug_ranges 0x0000000000000000 0xc main.obj - 0x0000000000000400 PROVIDE (__stack, (ORIGIN (ram) + 0x200)) - 0x000000000000c688 PROVIDE (__data_start_rom, _etext) - 0x000000000000c692 PROVIDE (__data_end_rom, (_etext + SIZEOF (.data))) -OUTPUT(main.out elf32-msp430) diff --git a/BlinkerLaunchPad/main.obj b/BlinkerLaunchPad/main.obj deleted file mode 100644 index c95815c..0000000 Binary files a/BlinkerLaunchPad/main.obj and /dev/null differ diff --git a/BlinkerLaunchPad/main.out b/BlinkerLaunchPad/main.out deleted file mode 100755 index 32787a2..0000000 Binary files a/BlinkerLaunchPad/main.out and /dev/null differ diff --git a/BlinkerLaunchPad/makefile b/BlinkerLaunchPad/makefile deleted file mode 100644 index 1cd8ce3..0000000 --- a/BlinkerLaunchPad/makefile +++ /dev/null @@ -1,8 +0,0 @@ -EMSNAME = Blinker - -COMMON = ../../../Common/Embedded/LaunchPad -SCHEMA = ../../Schema - -OBJECTS = main.obj $(EMSNAME).obj - -include $(COMMON)/rules.mk diff --git a/BlinkerSchema/.gitignore b/BlinkerSchema/.gitignore deleted file mode 100644 index acd27f7..0000000 --- a/BlinkerSchema/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/imports diff --git a/BlinkerSchema/.project b/BlinkerSchema/.project deleted file mode 100644 index 95b9071..0000000 --- a/BlinkerSchema/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - BlinkerSchema - - - - - - com.emmoco.mcmtooling.core.mcmToolingBuilder - - - - - - com.emmoco.mcmtooling.core.mcmToolingNature - - diff --git a/BlinkerSchema/Em/Blinker-STUBS.c b/BlinkerSchema/Em/Blinker-STUBS.c deleted file mode 100644 index 00ac639..0000000 --- a/BlinkerSchema/Em/Blinker-STUBS.c +++ /dev/null @@ -1,42 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#include "Blinker.h" - -#ifdef Blinker_STUBS_ /* enables optional inclusion of application stubs */ - -/* Copy the function skeletons below into your own application source file */ - -void Blinker_connectHandler(void) { - /* TODO: application is now connected */ -} - -void Blinker_disconnectHandler(void) { - /* TODO: application is now disconnected */ -} - -void Blinker_cmd_store(Blinker_cmd_t* input) { - /* TODO: write resource 'cmd' from 'input' */ -} - -void Blinker_count_fetch(Blinker_count_t* output) { - /* TODO: read resource 'count' into 'output' */ -} - -void Blinker_count_store(Blinker_count_t* input) { - /* TODO: write resource 'count' from 'input' */ -} - -void Blinker_delay_fetch(Blinker_delay_t* output) { - /* TODO: read resource 'delay' into 'output' */ -} - -void Blinker_delay_store(Blinker_delay_t* input) { - /* TODO: write resource 'delay' from 'input' */ -} - -void Blinker_ledState_fetch(Blinker_ledState_t* output) { - /* TODO: read resource 'ledState' into 'output' */ -} - -#endif /* application stubs */ diff --git a/BlinkerSchema/Em/Blinker.c b/BlinkerSchema/Em/Blinker.c deleted file mode 100644 index 1c19cf5..0000000 --- a/BlinkerSchema/Em/Blinker.c +++ /dev/null @@ -1,526 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#include "Em_Message.h" -#include "Blinker.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define Em_Message_protocolLevel 13 - -typedef struct Em_App_Message { - uint8_t dummy[3]; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[20]; -} Em_App_Message; - -const uint8_t Em_App_hash[] = {252, 123, 209, 86, 230, 104, 211, 8, 40, 191, 19, 28, 180, 183, 223, 192, 13, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))}; - -const uint8_t Em_App_build[] = {24, 231, 30, 251, 69, 1, 0, 0}; - -#define Em_App_APP_RESOURCE_COUNT 4 -#define Em_App_SYS_RESOURCE_COUNT 9 - -#define Em_App_ACCEPT Blinker_accept -#define Em_App_ACTIVATEPARAMETERS Blinker_activateParameters -#define Em_App_BROADCASTOFF Blinker_broadcastOff -#define Em_App_DISCONNECT Blinker_disconnect -#define Em_App_PAIRINGON Blinker_pairingOn -#define Em_App_PAIRINGOFF Blinker_pairingOff -#define Em_App_RESET Blinker_reset -#define Em_App_SETDEVICENAME Blinker_setDeviceName -#define Em_App_START Blinker_start - -#define Em_App_CONNECTHANDLER Blinker_connectHandler -#define Em_App_DISCONNECTHANDLER Blinker_disconnectHandler - -#define Em_App_MAX_INDICATOR 2 - -/* BEGIN common code */ - -enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED}; - -typedef struct Em_App_Indicator { - uint8_t dummy[3]; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[Em_Message_INDSIZE]; -} Em_App_Indicator; - -union { uint32_t align; Em_App_Message msg; } Em_App_msg_u; -union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u; -#define Em_App_msg Em_App_msg_u.msg -#define Em_App_ind Em_App_ind_u.ind - -void (*Em_App_pdHdlr)(void); - -const uint16_t Em_App_endian = 0x0100; - -Em_Message_Size Em_App_recvIdx; -Em_Message_Size Em_App_recvSize; -Em_Message_Size Em_App_xmitIdx; -Em_Message_Size Em_App_xmitSize; - -uint8_t Em_App_state = Em_App_IDLE; -int32_t Em_App_fileIndex = 0; -uint32_t Em_App_xmitMask = 0; - -uint8_t* Em_App_valp; -uint8_t* Em_App_bufp; -const char* Em_App_desc; - -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr; -uint8_t* Em_App_outBuf = 0; - -uint8_t* _Em_Message_rxBuf = 0; -uint8_t _Em_Message_rxCnt = 0; - -uint8_t* _Em_Message_txBuf = 0; -uint8_t _Em_Message_txCnt = 0; - -#define Em_App_DEVNAME_LEN 9 -const char* Em_App_devName = 0; - -void Em_App_fetchDispatch(void); -void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc); -void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc); -void Em_App_storeDispatch(void); -void Em_App_sendIndicator(Em_Message_ResId indId); -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size); -void Em_App_startIndSend(void); -void Em_App_startResSend(void); -void Em_App_sysFetchDispatch(void); -void Em_App_sysStoreDispatch(void); -bool Em_App_xmitReady(Em_Message_ResId indId); - -void Em_Message_nextXmit(void) { - uint8_t key = Em_Hal_lock(); - if (Em_App_xmitMask != 0) { - uint8_t i; - uint32_t m; - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) { - if (Em_App_xmitMask & m) { - Em_App_xmitMask &= ~m; - if (i == 0) { - Em_App_startResSend(); - } - else { - Em_App_sendIndicator(i - 1); - } - break; - } - } - } - Em_Hal_unlock(key); -} - -void Em_Message_restart(void) { - Em_App_START(); -} - -void Em_App_ACCEPT(bool enable) { - if (Em_App_state == Em_App_CONNECTED) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACCEPT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = enable; - Em_App_startIndSend(); -} - -void Em_App_ACTIVATEPARAMETERS(uint8_t group) { - if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = group; - Em_App_startIndSend(); -} - -void Em_App_BROADCASTOFF(void) { - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_App_DISCONNECT(void) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_state = Em_App_DISCONNECTED; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_DISCONNECT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_Message_dispatch(void) { - if (Em_App_state == Em_App_IDLE) { - return; - } - switch (Em_App_msg.hdr.kind) { - case Em_Message_CONNECT: - Em_App_state = Em_App_CONNECTED; - Em_App_CONNECTHANDLER(); - break; - case Em_Message_DISCONNECT: - Em_App_state = Em_App_DISCONNECTED; - Em_App_DISCONNECTHANDLER(); - break; - case Em_Message_PAIRING_DONE: - if (Em_App_pdHdlr) { - (*Em_App_pdHdlr)(); - } - break; - case Em_Message_FETCH: - if (Em_App_msg.hdr.resId < 0x80) { - Em_App_fetchDispatch(); - } - else { - Em_App_sysFetchDispatch(); - } - break; - case Em_Message_STORE: - if (Em_App_msg.hdr.resId < 0x80) { - Em_App_storeDispatch(); - } - else { - Em_App_sysStoreDispatch(); - } - break; - } -} - -void Em_App_marshallToBuf() { - char ch; - while ((ch = *Em_App_desc++)) { - switch (ch) { - case '0' : { - *Em_App_bufp++ = 0; - break; - } - case '1' : { - *Em_App_bufp++ = *Em_App_valp & 0xFF; - break; - } - case '2' : { - uint16_t v16 = *(uint16_t*)Em_App_valp; - *Em_App_bufp++ = v16 & 0xFF; - *Em_App_bufp++ = (v16 >> 8) & 0xFF; - break; - } - case '4' : { - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++; - uint32_t v32 = *(uint32_t*)Em_App_valp++; - *Em_App_bufp++ = v32 & 0xFF; - *Em_App_bufp++ = (v32 >> 8) & 0xFF; - *Em_App_bufp++ = (v32 >> 16) & 0xFF; - *Em_App_bufp++ = (v32 >> 24) & 0xFF; - break; - } - } - Em_App_valp += 1; - } -} - -void Em_App_marshallToVal() { - char ch; - while ((ch = *Em_App_desc++)) { - switch (ch) { - case '0' : { - *Em_App_valp = 0; - Em_App_bufp += 1; - break; - } - case '1' : { - *Em_App_valp = *Em_App_bufp++ & 0xFF; - break; - } - case '2' : { - uint16_t v16 = *Em_App_bufp++ & 0xFF; - v16 |= (*Em_App_bufp++ << 8); - *(uint16_t*)Em_App_valp = v16; - break; - } - case '4' : { - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++; - uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF; - v32 |= ((uint32_t)*Em_App_bufp++ << 8); - v32 |= ((uint32_t)*Em_App_bufp++ << 16); - v32 |= ((uint32_t)*Em_App_bufp++ << 24); - *(uint32_t*)Em_App_valp++ = v32; - break; - } - } - Em_App_valp += 1; - } -} - -void Em_App_PAIRINGOFF(void(*handler)(void)) { - Em_App_PAIRINGON(0, handler); -} - -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) { - if (Em_App_state != Em_App_DISCONNECTED) { - return; - } - Em_App_pdHdlr = handler; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_PAIRING; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = secs; - Em_App_startIndSend(); -} - -void Em_App_RESET(void) { - Em_Hal_reset(); - _Em_Message_rxBuf = _Em_Message_txBuf = 0; - _Em_Message_rxCnt = _Em_Message_txCnt = 0; - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0; - Em_App_state = Em_App_IDLE; - Em_App_fileIndex = 0; - Em_App_xmitMask = 0; -} - -void Em_App_SETDEVICENAME(const char* name) { - Em_App_devName = name; -} - -void Em_App_START(void) { - Em_App_RESET(); - Em_App_state = Em_App_STARTING; -} - -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) { - if (Em_App_state != Em_App_IDLE) { - Em_App_msg.sot = 0; - Em_App_msg.hdr.kind = kind; - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header); - if (Em_App_xmitReady(0)) { - Em_App_startResSend(); - } - } -} - -void Em_App_startIndSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot; - Em_App_xmitSize = Em_App_ind.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Hal_startSend(); -} - -void Em_App_startResSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot; - Em_App_xmitSize = Em_App_msg.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Hal_startSend(); -} - -void Em_App_sysFetchDispatch(void) { - uint8_t size = 0; - int i, j; - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_SCHEMA_HASH: - for (i = 0; i < sizeof (Em_App_hash); i++) { - Em_App_msg.data[i] = Em_App_hash[i]; - } - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian); - size = sizeof (Em_App_hash) + 1; - break; - case Em_Message_SYS_MCM_NAME: - if (Em_App_devName) { - for (i = 0; i < Em_App_DEVNAME_LEN; i++) { - if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) { - break; - } - } - for (j = i; j < Em_App_DEVNAME_LEN; j++) { - Em_App_msg.data[j] = 0; - } - size = Em_App_DEVNAME_LEN; - } - break; - case Em_Message_SYS_EAP_PROTOCOL_LEVEL: - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel; - size = sizeof (Em_Message_protocolLevel_t); - break; - case Em_Message_SYS_EAP_BUILD_DATE: - for (i = 0; i < sizeof (Em_App_build); i++) { - Em_App_msg.data[i] = Em_App_build[i]; - } - size = sizeof (Em_App_build); - break; - case Em_Message_SYS_RESOURCE_COUNT: - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT; - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT; - size = 2; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_sysStoreDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_FILE_INDEX_RESET: - Em_App_fileIndex = 0; - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -bool Em_App_xmitReady(Em_Message_ResId indId) { - uint8_t key = Em_Hal_lock(); - bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0; - if (!res) { - Em_App_xmitMask |= (1 << indId); - } - Em_Hal_unlock(key); - return res; -} - -/* END common code */ - -void Em_App_fetchDispatch(void) { - uint8_t size = 0; - switch (Em_App_msg.hdr.resId) { - case 0: { - break; - } - case 2: { -#ifdef Em_16BIT - Blinker_count_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "2"; - Blinker_count_fetch(&val); - Em_App_marshallToBuf(); -#else - Blinker_count_fetch((void*)Em_App_msg.data); -#endif - size = 2; - break; - } - case 3: { -#ifdef Em_16BIT - Blinker_delay_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "2"; - Blinker_delay_fetch(&val); - Em_App_marshallToBuf(); -#else - Blinker_delay_fetch((void*)Em_App_msg.data); -#endif - size = 2; - break; - } - case 4: { -#ifdef Em_16BIT - Blinker_ledState_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - Blinker_ledState_fetch(&val); - Em_App_marshallToBuf(); -#else - Blinker_ledState_fetch((void*)Em_App_msg.data); -#endif - size = 1; - break; - } - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_storeDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case 0: { - break; - } - case 1: { -#ifdef Em_16BIT - Blinker_cmd_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - Em_App_marshallToVal(); - Blinker_cmd_store(&val); -#else - Blinker_cmd_store((void*)Em_App_msg.data); -#endif - break; - } - case 2: { -#ifdef Em_16BIT - Blinker_count_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "2"; - Em_App_marshallToVal(); - Blinker_count_store(&val); -#else - Blinker_count_store((void*)Em_App_msg.data); -#endif - break; - } - case 3: { -#ifdef Em_16BIT - Blinker_delay_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "2"; - Em_App_marshallToVal(); - Blinker_delay_store(&val); -#else - Blinker_delay_store((void*)Em_App_msg.data); -#endif - break; - } - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -void Em_App_sendIndicator(Em_Message_ResId indId) { - Em_Message_Size resId = 0; - Em_Message_Size size = 0; - switch (indId) { - case 1: { -#ifdef Em_16BIT - Blinker_ledState_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_ind.data; - Em_App_desc = "1"; - Blinker_ledState_fetch(&val); - Em_App_marshallToBuf(); -#else - Blinker_ledState_fetch((Blinker_ledState_t*)&Em_App_ind.data); -#endif - resId = 4; - size = 1; - break; - } - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size; - Em_App_ind.hdr.resId = resId; - Em_App_startIndSend(); -} - -void Blinker_ledState_indicate(void) { - if (Em_App_state == Em_App_CONNECTED && Em_App_xmitReady(1 + 1)) Em_App_sendIndicator(1); -} - -#ifdef __cplusplus -} -#endif - diff --git a/BlinkerSchema/Em/Blinker.h b/BlinkerSchema/Em/Blinker.h deleted file mode 100644 index f829bca..0000000 --- a/BlinkerSchema/Em/Blinker.h +++ /dev/null @@ -1,72 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#ifndef Blinker__H -#define Blinker__H - -#include "Em_Types.h" -#include "Em_Message.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------- connection callback functions implemented by the application -------- */ - -void Blinker_connectHandler(void); -void Blinker_disconnectHandler(void); - -/* -------- resource types defined in the schema -------- */ - -/* enum Cmd */ -typedef uint8_t Blinker_Cmd; -#define Blinker_START_CMD 0 -#define Blinker_STOP_CMD 1 - -/* enum LedState */ -typedef uint8_t Blinker_LedState; -#define Blinker_LED_OFF 0 -#define Blinker_LED_ON 1 - -/* -------- resource callback functions implemented by the application -------- */ - -/* resource cmd */ -typedef Blinker_Cmd Blinker_cmd_t; -extern void Blinker_cmd_store(Blinker_cmd_t* input); - -/* resource count */ -typedef int16_t Blinker_count_t; -extern void Blinker_count_fetch(Blinker_count_t* output); -extern void Blinker_count_store(Blinker_count_t* input); - -/* resource delay */ -typedef uint16_t Blinker_delay_t; -#define Blinker_delay_min 500 -#define Blinker_delay_max 2000 -#define Blinker_delay_step 100 -#define Blinker_delay_scale 1000 -extern void Blinker_delay_fetch(Blinker_delay_t* output); -extern void Blinker_delay_store(Blinker_delay_t* input); - -/* resource ledState */ -typedef Blinker_LedState Blinker_ledState_t; -extern void Blinker_ledState_fetch(Blinker_ledState_t* output); -extern void Blinker_ledState_indicate(void); /* called by the application */ - -/* -------- application functions implemented in Blinker.c -------- */ - -void Blinker_accept(bool enable); -void Blinker_activateParameters(uint8_t group); -void Blinker_broadcastOff(void); -void Blinker_disconnect(void); -void Blinker_pairingOn(uint8_t secs, void(*handler)(void)); -void Blinker_pairingOff(void(*handler)(void)); -void Blinker_reset(void); -void Blinker_setDeviceName(const char* name); -void Blinker_start(void); - -#ifdef __cplusplus -} -#endif - -#endif /* Blinker__H */ diff --git a/BlinkerSchema/Em/Em_Message.h b/BlinkerSchema/Em/Em_Message.h deleted file mode 100644 index 3bd0d58..0000000 --- a/BlinkerSchema/Em/Em_Message.h +++ /dev/null @@ -1,182 +0,0 @@ -#ifndef Em_Message_H_ -#define Em_Message_H_ - -#include "Em_Types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------- SRT FUNCTIONS CALLED BY HAL -------- */ - -static inline bool Em_Message_addByte(uint8_t b); -extern void Em_Message_dispatch(void); -static inline bool Em_Message_getByte(uint8_t* bp); -extern void Em_Message_restart(void); -static inline bool Em_Message_startRx(void); -static inline uint8_t Em_Message_startTx(void); - - -/* -------- HAL FUNCTIONS CALLED BY SRT -------- */ - -extern uint8_t Em_Hal_lock(void); -extern void Em_Hal_reset(void); -extern void Em_Hal_startSend(void); -extern void Em_Hal_unlock(uint8_t key); -extern void Em_Hal_watchOff(void); -extern void Em_Hal_watchOn(void); - - -/* -------- MESSAGE FORMAT -------- */ - -/* protocolLevel #4 */ -#define Em_Message_INDSIZE 4 - -typedef uint8_t Em_Message_Size; -typedef uint8_t Em_Message_Kind; -/* protocolLevel #12 -- split 16-bit resId into */ -typedef uint8_t Em_Message_ResId; -typedef uint8_t Em_Message_Chan; - -#define Em_Message_NOP 0 -#define Em_Message_FETCH 1 -#define Em_Message_FETCH_DONE 2 -#define Em_Message_STORE 3 -#define Em_Message_STORE_DONE 4 -#define Em_Message_INDICATOR 5 -#define Em_Message_CONNECT 6 -#define Em_Message_DISCONNECT 7 -#define Em_Message_ECHO 8 -/* protocolLevel #3 */ -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */ -#define Em_Message_PAIRING 9 -#define Em_Message_PAIRING_DONE 10 -/* protocolLevel #7 */ -#define Em_Message_OFFLINE 11 -/* protocolLevel #8 */ -#define Em_Message_ACCEPT 12 -/* protocolLevel #13 */ -#define Em_Message_START 13 -#define Em_Message_ACTIVE_PARAMS 14 - -typedef struct Em_Message_Header { - Em_Message_Size size; - Em_Message_Kind kind; - Em_Message_ResId resId; - Em_Message_Chan chan; -} Em_Message_Header; - -typedef uint16_t Em_Message_protocolLevel_t; - -/* protocolLevel #1 */ - -/* protocolLevel #10 */ -/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */ - -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD -#define Em_Message_SYS_EAP_BUILD_DATE 0xFC - -/* protocolLevel #2 */ -#define Em_Message_SYS_FILE_INDEX_RESET 0xFB - -/* protocolLevel #5 */ -#define Em_Message_SYS_SCHEMA_HASH 0xFA - -/* protocolLevel #7 */ -#define Em_Message_SYS_RESOURCE_COUNT 0xF9 - -/* protocolLevel #9 */ -#define Em_Message_SYS_MOBILE_RSSI 0xF8 - -/* protocolLevel #11 */ -#define Em_Message_SYS_MCM_DISCONNECT 0xF7 - -/* protocolLevel #13a */ -#define Em_Message_SYS_MCM_NAME 0xF5 - - -/* -------- PRIVATE -------- */ - -extern void Em_Message_nextXmit(void); - -extern uint8_t* Em_App_inBuf; -extern uint8_t* Em_App_outBuf; -extern Em_Message_Size Em_App_xmitSize; - -extern uint8_t* _Em_Message_rxBuf; -extern uint8_t _Em_Message_rxCnt; - -extern uint8_t* _Em_Message_txBuf; -extern uint8_t _Em_Message_txCnt; - -static inline bool Em_Message_addByte(uint8_t b) { - if (_Em_Message_rxCnt == 0) { - if (b == 0) { - return false; - } - _Em_Message_rxCnt = b; - } - *_Em_Message_rxBuf++ = b; - if (--_Em_Message_rxCnt == 0) { - _Em_Message_rxBuf = 0; - if (_Em_Message_txBuf == 0) { - Em_Hal_watchOff(); - } - return true; - } - else { - return false; - } -} - -static inline bool Em_Message_getByte(uint8_t* bp) { - if (_Em_Message_txBuf == 0) { - return false; - } - if (_Em_Message_txCnt == 0) { - _Em_Message_txCnt = *_Em_Message_txBuf + 1; - } - if (--_Em_Message_txCnt > 0) { - *bp = *_Em_Message_txBuf++; - return true; - } - else { - _Em_Message_txBuf = 0; - Em_App_xmitSize = 0; - Em_Message_nextXmit(); - if (_Em_Message_rxBuf == 0) { - Em_Hal_watchOff(); - } - return false; - } -} - -static inline bool Em_Message_startRx(void) { - if (_Em_Message_rxBuf == 0) { - _Em_Message_rxBuf = Em_App_inBuf; - if (_Em_Message_txBuf == 0) { - Em_Hal_watchOn(); - } - return true; - } - else { - return false; - } -} - -static inline uint8_t Em_Message_startTx(void) { - _Em_Message_txBuf = Em_App_outBuf + 1; - _Em_Message_txCnt = 0; - if (_Em_Message_rxBuf == 0) { - Em_Hal_watchOn(); - } - return 0; -} - - -#ifdef __cplusplus -} -#endif - -#endif /*Em_Message_H_*/ diff --git a/BlinkerSchema/Em/Em_Types.h b/BlinkerSchema/Em/Em_Types.h deleted file mode 100644 index d002306..0000000 --- a/BlinkerSchema/Em/Em_Types.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef Em_Types_H_ -#define Em_Types_H_ - -#ifndef Em_NOSTDBOOL -#include -#endif - -#ifndef Em_NOSTDINT -#include -#endif - -#ifdef Em_16BIT -typedef signed char int8_t; -typedef unsigned char uint8_t; -#endif - -#endif /*Em_Types_H_*/ diff --git a/BlinkerSchema/Em/blinker.json b/BlinkerSchema/Em/blinker.json deleted file mode 100644 index c806052..0000000 --- a/BlinkerSchema/Em/blinker.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "resources": { - "$eapProtocolLevel": { - "id": -3, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "count": { - "id": 2, - "align": 2, - "attributes": {"readwrite": true}, - "type": "i2", - "access": "rw", - "size": 2 - }, - "$activeGroup": { - "id": -10, - "align": 1, - "pack": 1, - "attributes": {"readwrite": true}, - "type": "E:system@emmoco.com.System/ParameterGroup", - "access": "rw", - "size": 1 - }, - "$mcmDisconnect": { - "id": -9, - "align": 1, - "attributes": {"writeonly": true}, - "type": "u1", - "access": "w", - "size": 1 - }, - "$eapBuildDate": { - "dim": 8, - "id": -4, - "align": 1, - "attributes": {"readonly": true}, - "type": "A8:u1", - "access": "r", - "size": 8 - }, - "ledState": { - "id": 4, - "align": 1, - "pack": 1, - "attributes": { - "indicator": true, - "readonly": true - }, - "type": "E:@emmoco.com.Blinker/LedState", - "access": "ir", - "size": 1 - }, - "$resourceCount": { - "id": -7, - "align": 1, - "attributes": {"readonly": true}, - "type": "S:system@emmoco.com.System/ResourceCount", - "access": "r", - "size": 2 - }, - "$schemaHash": { - "dim": 20, - "id": -6, - "align": 1, - "attributes": {"readonly": true}, - "type": "A20:u1", - "access": "r", - "size": 20 - }, - "cmd": { - "id": 1, - "align": 1, - "pack": 1, - "attributes": {"writeonly": true}, - "type": "E:@emmoco.com.Blinker/Cmd", - "access": "w", - "size": 1 - }, - "$mcmProtocolLevel": { - "id": -2, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "$mobileRssi": { - "id": -8, - "align": 1, - "attributes": {"readonly": true}, - "type": "i1", - "access": "r", - "size": 1 - }, - "delay": { - "id": 3, - "align": 2, - "pack": 4, - "attributes": {"readwrite": true}, - "type": "N:0.500000,2.000000,0.100000,3/u2/15", - "access": "rw", - "size": 2 - }, - "$fileIndexReset": { - "id": -5, - "align": 2, - "attributes": {"writeonly": true}, - "type": "i2", - "access": "w", - "size": 2 - } - }, - "resourceNamesSys": [ - "$activeGroup", - "$eapBuildDate", - "$eapProtocolLevel", - "$fileIndexReset", - "$mcmDisconnect", - "$mcmProtocolLevel", - "$mobileRssi", - "$resourceCount", - "$schemaHash" - ], - "manifest": { - "protocolLevel": 13, - "hash": [ - 252, - 123, - 209, - 86, - 230, - 104, - 211, - 8, - 40, - 191, - 19, - 28, - 180, - 183, - 223, - 192 - ], - "toolVersion": "13.4.1.201311121909", - "name": "Blinker", - "$$md5": "fc7bd156e668d30828bf131cb4b7dfc0", - "build": [ - 24, - 231, - 30, - 251, - 69, - 1, - 0, - 0 - ], - "date": "2014-05-14T16:24:37T", - "maxAlign": 2, - "maxSize": 20, - "version": "1.0.0" - }, - "resourceNames": [ - "cmd", - "count", - "delay", - "ledState", - "$mcmProtocolLevel", - "$eapProtocolLevel", - "$eapBuildDate", - "$fileIndexReset", - "$schemaHash", - "$resourceCount", - "$mobileRssi", - "$mcmDisconnect", - "$activeGroup" - ], - "attributes": { - "description": "Blinker, the hello world program for mobile control", - "version": "1.0.0" - }, - "resourceNamesApp": [ - "cmd", - "count", - "delay", - "ledState" - ], - "types": { - "@emmoco.com.Blinker/LedState": { - "values": [ - "LED_OFF", - "LED_ON" - ], - "align": 1, - "pack": 1, - "type": "E:@emmoco.com.Blinker/LedState", - "size": 1 - }, - "system@emmoco.com.System/ResourceCount": { - "packed": false, - "align": 1, - "type": "S:system@emmoco.com.System/ResourceCount", - "size": 2, - "fields": [ - { - "pad": 0, - "align": 1, - "name": "app", - "type": "u1", - "size": 1 - }, - { - "pad": 0, - "align": 1, - "name": "sys", - "type": "u1", - "size": 1 - } - ] - }, - "std:i2": { - "align": 2, - "size": 2 - }, - "std:i1": { - "align": 1, - "size": 1 - }, - "std:u1": { - "align": 1, - "size": 1 - }, - "system@emmoco.com.System/ParameterGroup": { - "values": [ - "GROUP_A", - "GROUP_B" - ], - "align": 1, - "pack": 1, - "type": "E:system@emmoco.com.System/ParameterGroup", - "size": 1 - }, - "@emmoco.com.Blinker/Cmd": { - "values": [ - "START_CMD", - "STOP_CMD" - ], - "align": 1, - "pack": 1, - "type": "E:@emmoco.com.Blinker/Cmd", - "size": 1 - }, - "std:u2": { - "align": 2, - "size": 2 - } - }, - "imports": {"@emmoco.com.Blinker": true} -} \ No newline at end of file diff --git a/BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems b/BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems deleted file mode 100644 index 9601635..0000000 --- a/BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems +++ /dev/null @@ -1,72 +0,0 @@ -owner = "system@emmoco.com" - -schema System { - - // protocolLevel #13 - - enum ParameterGroup { - GROUP_A, GROUP_B - } - - // protocolLevel #1 - - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications - readonly - } - - uint16 $mcmProtocolLevel { - readonly - } - - uint16 $eapProtocolLevel { - readonly - } - - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber - readonly - } - - // protocolLevel #2 - - int16 $fileIndexReset { - writeonly - } - - // protocolLevel #5 - - // protocolLevel #12 -- increase size to 20 - - uint8 $schemaHash[20] { - readonly - } - - // protocolLevel #7 - - struct ResourceCount { - uint8 app - uint8 sys - } - - ResourceCount $resourceCount { - readonly - } - - // protocolLevel #9 - - int8 $mobileRssi { - readonly - } - - // protocolLevel #11 - - uint8 $mcmDisconnect { - writeonly - } - - // protocolLevel #13 - - ParameterGroup $activeGroup { - readwrite - } - -} diff --git a/BlinkerSchema/bundle.properties b/BlinkerSchema/bundle.properties deleted file mode 100644 index 9e0bbd0..0000000 --- a/BlinkerSchema/bundle.properties +++ /dev/null @@ -1,10 +0,0 @@ -# generated file - do not edit - -bundle.requires = com.emmoco.schema.translator -com.emmoco.framework.Properties.applicationDirectory = Em -com.emmoco.framework.Properties.schemaDestinationDirectory = Em -com.emmoco.framework.Properties.serverAPIToken = -com.emmoco.framework.Properties.align16 = 2 -com.emmoco.framework.Properties.align32 = 4 -com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/durex/BlinkerSchema/schema.ems -com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909 diff --git a/BlinkerSchema/imports/system@emmoco.com/System.ems b/BlinkerSchema/imports/system@emmoco.com/System.ems deleted file mode 100644 index c71c87a..0000000 --- a/BlinkerSchema/imports/system@emmoco.com/System.ems +++ /dev/null @@ -1,60 +0,0 @@ -owner = "system@emmoco.com" - -schema System { - - // protocolLevel #1 - - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications - readonly - } - - uint16 $mcmProtocolLevel { - readonly - } - - uint16 $eapProtocolLevel { - readonly - } - - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber - readonly - } - - // protocolLevel #2 - - int16 $fileIndexReset { - writeonly - } - - // protocolLevel #5 - - // protocolLevel #12 -- increase size to 20 - - uint8 $schemaHash[20] { - readonly - } - - // protocolLevel #7 - - struct ResourceCount { - uint8 app - uint8 sys - } - - ResourceCount $resourceCount { - readonly - } - - // protocolLevel #9 - - int8 $mobileRssi { - readonly - } - - // protocolLevel #11 - - uint8 $mcmDisconnect { - writeonly - } - -} diff --git a/BlinkerSchema/out/Blinker-TODO.c b/BlinkerSchema/out/Blinker-TODO.c deleted file mode 100644 index 853c108..0000000 --- a/BlinkerSchema/out/Blinker-TODO.c +++ /dev/null @@ -1,42 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#include "Blinker.h" - -#ifdef Em_Blinker_TODO /* enables optional inclusion of empty functions */ - -/* Copy the function skeletons below into your own Blinker.c source file */ - -void Blinker_connectHandler(void) { - /* TODO: application is now connected */ -} - -void Blinker_disconnectHandler(void) { - /* TODO: application is now disconnected */ -} - -void Blinker_cmd_store(Blinker_cmd_t* const input) { - /* TODO: read resource 'cmd' from 'input' */ -} - -void Blinker_count_fetch(Blinker_count_t* const output) { - /* TODO: write resource 'count' into 'output' */ -} - -void Blinker_count_store(Blinker_count_t* const input) { - /* TODO: read resource 'count' from 'input' */ -} - -void Blinker_delay_fetch(Blinker_delay_t* const output) { - /* TODO: write resource 'delay' into 'output' */ -} - -void Blinker_delay_store(Blinker_delay_t* const input) { - /* TODO: read resource 'delay' from 'input' */ -} - -void Blinker_ledState_fetch(Blinker_ledState_t* const output) { - /* TODO: write resource 'ledState' into 'output' */ -} - -#endif /* dummy file */ diff --git a/BlinkerSchema/out/Blinker.c b/BlinkerSchema/out/Blinker.c deleted file mode 100644 index af1104f..0000000 --- a/BlinkerSchema/out/Blinker.c +++ /dev/null @@ -1,348 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#include "Em_Message.h" -#include "Blinker.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define Em_Message_protocolLevel 12 - -typedef struct Em_App_Message { - uint8_t dummy; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[20]; -} Em_App_Message; - -const uint8_t Em_App_hash[] = {194, 8, 191, 173, 237, 198, 193, 165, 88, 202, 74, 246, 70, 59, 102, 128, 12, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))}; - -const uint8_t Em_App_build[] = {70, 123, 11, 227, 69, 1, 0, 0}; - -#define Em_App_APP_RESOURCE_COUNT 4 -#define Em_App_SYS_RESOURCE_COUNT 8 - -#define Em_App_ACCEPT Blinker_accept -#define Em_App_DISCONNECT Blinker_disconnect -#define Em_App_PAIRINGON Blinker_pairingOn -#define Em_App_PAIRINGOFF Blinker_pairingOff -#define Em_App_RESET Blinker_reset -#define Em_App_RUN Blinker_run - -#define Em_App_CONNECTHANDLER Blinker_connectHandler -#define Em_App_DISCONNECTHANDLER Blinker_disconnectHandler - -#define Em_App_MAX_INDICATOR 2 - -enum {Em_App_IDLE, Em_App_DISCONNECTED, Em_App_CONNECTED}; - -typedef struct Em_App_Indicator { - uint8_t dummy; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[Em_Message_INDSIZE]; -} Em_App_Indicator; - -void (*Em_App_pdHdlr)(void); - -const uint16_t Em_App_endian = 0x0100; - -Em_Message_Size Em_App_recvIdx; -Em_Message_Size Em_App_recvSize; -Em_Message_Size Em_App_xmitIdx; -Em_Message_Size Em_App_xmitSize; - -uint8_t Em_App_state = Em_App_IDLE; -Em_App_Message Em_App_msg; -Em_App_Indicator Em_App_ind; -bool Em_App_moreData = false; -bool Em_App_readIdle = true; -int32_t Em_App_fileIndex; -uint32_t Em_App_xmitMask; - -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr; -uint8_t* Em_App_outBuf; - -void Em_App_fetchDispatch(void); -void Em_App_storeDispatch(void); -void Em_App_sendIndicator(Em_Message_ResId indId); -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size); -void Em_App_startIndSend(void); -void Em_App_startResSend(void); -void Em_App_sysFetchDispatch(void); -void Em_App_sysStoreDispatch(void); -bool Em_App_xmitReady(Em_Message_ResId indId); - -bool Em_Message_addByte(uint8_t b) { - if (Em_App_readIdle && b) { - Em_App_recvSize = Em_App_inBuf[0] = b; - Em_App_recvIdx = 1; - Em_App_readIdle = false; - return false; - } - Em_App_inBuf[Em_App_recvIdx++] = b; - if (Em_App_recvIdx < Em_App_recvSize) { - return false; - } - Em_App_readIdle = true; - return true; -} - -bool Em_Message_getByte(uint8_t* bp) { - uint8_t key = Em_Message_lock(); - Em_App_moreData = (Em_App_xmitSize != 0); - if (!Em_App_moreData && (Em_App_xmitMask != 0)) { - uint8_t i; - uint32_t m; - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) { - if (Em_App_xmitMask & m) { - Em_App_xmitMask &= ~m; - if (i == 0) { - Em_App_startResSend(); - } - else { - Em_App_sendIndicator(i); - } - break; - } - } - Em_Message_unlock(key); - return false; - } - else if (Em_App_moreData) { - *bp = Em_App_outBuf[Em_App_xmitIdx++]; - Em_App_xmitSize -= 1; - } - Em_Message_unlock(key); - return Em_App_moreData; -} - -void Em_App_ACCEPT(bool enable) { - if (Em_App_state == Em_App_CONNECTED) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACCEPT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = enable; - Em_App_startIndSend(); -} - -void Em_App_DISCONNECT(void) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_state = Em_App_DISCONNECTED; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_DISCONNECT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_Message_dispatch(void) { - if (Em_App_state == Em_App_IDLE) { - return; - } - switch (Em_App_msg.hdr.kind) { - case Em_Message_CONNECT: - Em_App_state = Em_App_CONNECTED; - Em_App_CONNECTHANDLER(); - break; - case Em_Message_DISCONNECT: - Em_App_state = Em_App_DISCONNECTED; - Em_App_DISCONNECTHANDLER(); - break; - case Em_Message_PAIRING_DONE: - if (Em_App_pdHdlr) { - (*Em_App_pdHdlr)(); - } - break; - case Em_Message_FETCH: - if (Em_App_msg.hdr.resId > 0) { - Em_App_fetchDispatch(); - } - else { - Em_App_sysFetchDispatch(); - } - break; - case Em_Message_STORE: - if (Em_App_msg.hdr.resId > 0) { - Em_App_storeDispatch(); - } - else { - Em_App_sysStoreDispatch(); - } - break; - } -} - -void Em_App_PAIRINGOFF(void(*handler)(void)) { - Em_App_PAIRINGON(0, handler); -} - -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) { - if (Em_App_state != Em_App_DISCONNECTED) { - return; - } - Em_App_pdHdlr = handler; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_PAIRING; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = secs; - Em_App_startIndSend(); -} - -void Em_App_RESET(void) { - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0; - Em_App_state = Em_App_IDLE; - Em_App_moreData = false; - Em_App_readIdle = true; - Em_App_fileIndex = 0; - Em_App_xmitMask = 0; -} - -void Em_App_RUN(void) { - Em_App_state = Em_App_DISCONNECTED; -} - -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_msg.sot = 0; - Em_App_msg.hdr.kind = kind; - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header); - if (Em_App_xmitReady(0)) { - Em_App_startResSend(); - } -} - -void Em_App_startIndSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot; - Em_App_xmitSize = Em_App_ind.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Message_startSend(); -} - -void Em_App_startResSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot; - Em_App_xmitSize = Em_App_msg.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Message_startSend(); -} - -void Em_App_sysFetchDispatch(void) { - uint8_t size = 0; - int i; - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_SCHEMA_HASH: - for (i = 0; i < sizeof (Em_App_hash); i++) { - Em_App_msg.data[i] = Em_App_hash[i]; - } - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian); - size = sizeof (Em_App_hash) + 1; - break; - case Em_Message_SYS_EAP_PROTOCOL_LEVEL: - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel; - size = sizeof (Em_Message_protocolLevel_t); - break; - case Em_Message_SYS_EAP_BUILD_DATE: - for (i = 0; i < sizeof (Em_App_build); i++) { - Em_App_msg.data[i] = Em_App_build[i]; - } - size = sizeof (Em_App_build); - break; - case Em_Message_SYS_RESOURCE_COUNT: - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT; - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT; - size = 2; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_sysStoreDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_FILE_INDEX_RESET: - Em_App_fileIndex = 0; - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -bool Em_App_xmitReady(Em_Message_ResId indId) { - uint8_t key = Em_Message_lock(); - bool res = !Em_App_moreData && Em_App_xmitMask == 0; - if (!res) { - Em_App_xmitMask |= (1 << indId); - } - Em_Message_unlock(key); - return res; -} - -void Em_App_fetchDispatch(void) { - uint8_t size = 0; - switch (Em_App_msg.hdr.resId) { - case 0: - break; - case 2: - Blinker_count_fetch((Blinker_count_t*)Em_App_msg.data); - size = 2; - break; - case 3: - Blinker_delay_fetch((Blinker_delay_t*)Em_App_msg.data); - size = 2; - break; - case 4: - Blinker_ledState_fetch((Blinker_ledState_t*)Em_App_msg.data); - size = 1; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_storeDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case 0: - break; - case 1: - Blinker_cmd_store((Blinker_cmd_t*)Em_App_msg.data); - break; - case 2: - Blinker_count_store((Blinker_count_t*)Em_App_msg.data); - break; - case 3: - Blinker_delay_store((Blinker_delay_t*)Em_App_msg.data); - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -void Em_App_sendIndicator(Em_Message_ResId indId) { - Em_Message_Size resId = 0; - Em_Message_Size size = 0; - switch (indId) { - case 1: - Blinker_ledState_fetch((Blinker_ledState_t*)&Em_App_ind.data); - resId = 4; - size = 1; - break; -} - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size; - Em_App_ind.hdr.resId = resId; - Em_App_startIndSend(); -} - -void Blinker_ledState_indicate(void) { - if (Em_App_state != Em_App_IDLE && Em_App_xmitReady(1)) Em_App_sendIndicator(1); -} - -#ifdef __cplusplus -} -#endif - diff --git a/BlinkerSchema/out/Blinker.h b/BlinkerSchema/out/Blinker.h deleted file mode 100644 index 9507855..0000000 --- a/BlinkerSchema/out/Blinker.h +++ /dev/null @@ -1,61 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#ifndef Blinker__H -#define Blinker__H - -#include "Em_Types.h" -#include "Em_Message.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* enum Cmd */ -typedef uint8_t Blinker_Cmd; -#define Blinker_START_CMD 0 -#define Blinker_STOP_CMD 1 - -/* enum LedState */ -typedef uint8_t Blinker_LedState; -#define Blinker_LED_OFF 0 -#define Blinker_LED_ON 1 - -/* resource cmd */ -typedef Blinker_Cmd Blinker_cmd_t; -extern void Blinker_cmd_store(Blinker_cmd_t* const input); - -/* resource count */ -typedef int16_t Blinker_count_t; -extern void Blinker_count_fetch(Blinker_count_t* const output); -extern void Blinker_count_store(Blinker_count_t* const input); - -/* resource delay */ -typedef uint16_t Blinker_delay_t; -#define Blinker_delay_min 500 -#define Blinker_delay_max 2000 -#define Blinker_delay_step 100 -extern void Blinker_delay_fetch(Blinker_delay_t* const output); -extern void Blinker_delay_store(Blinker_delay_t* const input); - -/* resource ledState */ -typedef Blinker_LedState Blinker_ledState_t; -extern void Blinker_ledState_fetch(Blinker_ledState_t* const output); -extern void Blinker_ledState_indicate(void); - -void Blinker_reset(void); -void Blinker_run(void); - -void Blinker_accept(bool enable); -void Blinker_disconnect(void); -void Blinker_pairingOn(uint8_t secs, void(*handler)(void)); -void Blinker_pairingOff(void(*handler)(void)); - -void Blinker_connectHandler(void); -void Blinker_disconnectHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* Blinker__H */ diff --git a/BlinkerSchema/out/Blinker.zip b/BlinkerSchema/out/Blinker.zip deleted file mode 100644 index 01c76cd..0000000 Binary files a/BlinkerSchema/out/Blinker.zip and /dev/null differ diff --git a/BlinkerSchema/out/Em_Message.h b/BlinkerSchema/out/Em_Message.h deleted file mode 100644 index dd64233..0000000 --- a/BlinkerSchema/out/Em_Message.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef Em_Message_H_ -#define Em_Message_H_ - -#include "Em_Types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* protocolLevel #4 */ -#define Em_Message_INDSIZE 4 - -typedef uint8_t Em_Message_Size; -typedef uint8_t Em_Message_Kind; -/* protocolLevel #12 -- split 16-bit resId into */ -typedef int8_t Em_Message_ResId; -typedef uint8_t Em_Message_Chan; - -#define Em_Message_NOP 0 -#define Em_Message_FETCH 1 -#define Em_Message_FETCH_DONE 2 -#define Em_Message_STORE 3 -#define Em_Message_STORE_DONE 4 -#define Em_Message_INDICATOR 5 -#define Em_Message_CONNECT 6 -#define Em_Message_DISCONNECT 7 -#define Em_Message_ECHO 8 -/* protocolLevel #3 */ -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */ -#define Em_Message_PAIRING 9 -#define Em_Message_PAIRING_DONE 10 -/* protocolLevel #7 */ -#define Em_Message_OFFLINE 11 -/* protocolLevel #8 */ -#define Em_Message_ACCEPT 12 - -typedef struct Em_Message_Header { - Em_Message_Size size; - Em_Message_Kind kind; - Em_Message_ResId resId; - Em_Message_Chan chan; -} Em_Message_Header; - -typedef uint16_t Em_Message_protocolLevel_t; - -/* protocolLevel #1 */ - -/* protocolLevel #10 */ -/* #define Em_Message_SYS_SCHEMA_UUID -1 */ - -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL -2 -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL -3 -#define Em_Message_SYS_EAP_BUILD_DATE -4 - -/* protocolLevel #2 */ -#define Em_Message_SYS_FILE_INDEX_RESET -5 - -/* protocolLevel #5 */ -#define Em_Message_SYS_SCHEMA_HASH -6 - -/* protocolLevel #7 */ -#define Em_Message_SYS_RESOURCE_COUNT -7 - -/* protocolLevel #9 */ -#define Em_Message_SYS_MOBILE_RSSI -8 - -/* protocolLevel #11 */ -#define Em_Message_SYS_MCM_DISCONNECT -9 - -extern void Em_Message_init(void); - -extern bool Em_Message_addByte(uint8_t b); -extern void Em_Message_dispatch(void); -extern bool Em_Message_getByte(uint8_t *bp); -extern uint8_t Em_Message_lock(void); -extern void Em_Message_startSend(void); -extern void Em_Message_unlock(uint8_t key); - -#ifdef __cplusplus -} -#endif - -#endif /*Em_Message_H_*/ diff --git a/BlinkerSchema/out/Em_Types.h b/BlinkerSchema/out/Em_Types.h deleted file mode 100644 index a221d54..0000000 --- a/BlinkerSchema/out/Em_Types.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef Em_Types_H_ -#define Em_Types_H_ - -#ifndef EM_NOSTDBOOL -#include -#endif - -#ifndef EM_NOSTDINT -#include -#endif - -#endif /*Em_Types_H_*/ diff --git a/BlinkerSchema/out/blinker.json b/BlinkerSchema/out/blinker.json deleted file mode 100644 index 76eddd4..0000000 --- a/BlinkerSchema/out/blinker.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "resources": { - "$schemaHash": { - "id": -6, - "align": 1, - "attributes": {"readonly": true}, - "type": "A20:u1", - "access": "r", - "size": 20 - }, - "$eapProtocolLevel": { - "id": -3, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "cmd": { - "id": 1, - "align": 1, - "attributes": {"writeonly": true}, - "type": "E:@emmoco.com.Blinker/Cmd", - "access": "w", - "size": 1 - }, - "$mcmProtocolLevel": { - "id": -2, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "count": { - "id": 2, - "align": 2, - "attributes": {"readwrite": true}, - "type": "i2", - "access": "rw", - "size": 2 - }, - "$mobileRssi": { - "id": -8, - "align": 1, - "attributes": {"readonly": true}, - "type": "i1", - "access": "r", - "size": 1 - }, - "$mcmDisconnect": { - "id": -9, - "align": 1, - "attributes": {"writeonly": true}, - "type": "u1", - "access": "w", - "size": 1 - }, - "delay": { - "id": 3, - "align": 2, - "attributes": {"readwrite": true}, - "type": "N:0.500000,2.000000,0.100000,3/u2", - "access": "rw", - "size": 2 - }, - "$eapBuildDate": { - "id": -4, - "align": 1, - "attributes": {"readonly": true}, - "type": "A8:u1", - "access": "r", - "size": 8 - }, - "$resourceCount": { - "id": -7, - "align": 1, - "attributes": {"readonly": true}, - "type": "S:system@emmoco.com.System/ResourceCount", - "access": "r", - "size": 2 - }, - "ledState": { - "id": 4, - "align": 1, - "attributes": { - "indicator": true, - "readonly": true - }, - "type": "E:@emmoco.com.Blinker/LedState", - "access": "ir", - "size": 1 - }, - "$fileIndexReset": { - "id": -5, - "align": 2, - "attributes": {"writeonly": true}, - "type": "i2", - "access": "w", - "size": 2 - } - }, - "resourceNamesSys": [ - "$eapBuildDate", - "$eapProtocolLevel", - "$fileIndexReset", - "$mcmDisconnect", - "$mcmProtocolLevel", - "$mobileRssi", - "$resourceCount", - "$schemaHash" - ], - "manifest": { - "protocolLevel": 12, - "hash": [ - 194, - 8, - 191, - 173, - 237, - 198, - 193, - 165, - 88, - 202, - 74, - 246, - 70, - 59, - 102, - 128 - ], - "toolVersion": "12.0.0.201211010336", - "name": "Blinker", - "$$md5": "73d98dc6eb4c17eea377d5969c0e49d2", - "build": [ - 70, - 123, - 11, - 227, - 69, - 1, - 0, - 0 - ], - "date": "2014-05-10T00:12:31T", - "maxAlign": 2, - "maxSize": 20, - "version": "1.0.0" - }, - "resourceNames": [ - "cmd", - "count", - "delay", - "ledState", - "$mcmProtocolLevel", - "$eapProtocolLevel", - "$eapBuildDate", - "$fileIndexReset", - "$schemaHash", - "$resourceCount", - "$mobileRssi", - "$mcmDisconnect" - ], - "attributes": { - "description": "Blinker, the hello world program for mobile control", - "version": "1.0.0" - }, - "types": { - "@emmoco.com.Blinker/LedState": { - "values": [ - "LED_OFF", - "LED_ON" - ], - "align": 1, - "type": "E:@emmoco.com.Blinker/LedState", - "size": 1 - }, - "system@emmoco.com.System/ResourceCount": { - "align": 1, - "type": "S:system@emmoco.com.System/ResourceCount", - "size": 2, - "fields": [ - { - "pad": 0, - "align": 1, - "name": "app", - "type": "u1", - "size": 1 - }, - { - "pad": 0, - "align": 1, - "name": "sys", - "type": "u1", - "size": 1 - } - ] - }, - "std:i2": { - "align": 2, - "size": 2 - }, - "std:i1": { - "align": 1, - "size": 1 - }, - "std:u1": { - "align": 1, - "size": 1 - }, - "@emmoco.com.Blinker/Cmd": { - "values": [ - "START_CMD", - "STOP_CMD" - ], - "align": 1, - "type": "E:@emmoco.com.Blinker/Cmd", - "size": 1 - }, - "std:u2": { - "align": 2, - "size": 2 - } - }, - "resourceNamesApp": [ - "cmd", - "count", - "delay", - "ledState" - ], - "imports": {"@emmoco.com.Blinker": true} -} \ No newline at end of file diff --git a/BlinkerSchema/schema.ems b/BlinkerSchema/schema.ems deleted file mode 100644 index 245f444..0000000 --- a/BlinkerSchema/schema.ems +++ /dev/null @@ -1,32 +0,0 @@ -version = "1.0.0" -description = "Blinker, the hello world program for mobile control" - -schema Blinker { - - /* -------- resource cmd -------- */ - enum Cmd { - START_CMD, STOP_CMD - } - Cmd cmd { - writeonly - } - - /* -------- resource count -------- */ - int16 count { - readwrite - } - - /* -------- resource delay -------- */ - num <0.5, 2.0, 0.100> delay { - readwrite - } - - /* -------- resource ledState -------- */ - enum LedState { - LED_OFF, LED_ON - } - LedState ledState { - readonly - indicator - } -} diff --git a/CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch b/CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch deleted file mode 100644 index a43f38b..0000000 --- a/CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/CommonLaunchPad/.project b/CommonLaunchPad/.project deleted file mode 100644 index fa774de..0000000 --- a/CommonLaunchPad/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - CommonLaunchPad - - - - - - - - diff --git a/CommonLaunchPad/rules.mk b/CommonLaunchPad/rules.mk deleted file mode 100644 index d8b65a3..0000000 --- a/CommonLaunchPad/rules.mk +++ /dev/null @@ -1,69 +0,0 @@ -MCU = msp430g2553 - -CC = msp430-gcc -OBJCOPY = msp430-objcopy -SIZE = msp430-size -MSPDEBUG = mspdebug -MSP430FLASHER = MSP430Flasher -EMBUILDER = #em-builder -COPTS = -Os -Wall -fno-strict-aliasing -c -g -mmcu=$(MCU) -LDOPTS = -mmcu=$(MCU) -Wl,-Map=main.map - -EMSOUT = $(SCHEMA)/out -RMFILES = *.out *.map *.hex *.obj -CFLAGS = -I$(COMMON) -I$(EMSOUT) $(COPTS) -LDFLAGS = $(LDOPTS) -VPATH = $(COMMON) -OUTFILE = main.out - -all: $(OUTFILE) - -ifeq (,$(findstring Windows,$(OS))) -load: out-check - $(MSPDEBUG) rf2500 "prog $(OUTFILE)" 2>&1 -else -load: $(OUTFILE:.out=.hex) - $(MSP430FLASHER) -i USB -m AUTO -e ERASE_MAIN -n $(MCU) -w $< -v -z [VCC] -g -endif - -$(OUTFILE): $(OBJECTS) - $(CC) $(LDFLAGS) -o $@ $^ - $(SIZE) $@ - -%.hex: out-check - $(OBJCOPY) -O ihex $(@:.hex=.out) $@ - -%.obj: %.c $(EMSOUT)/$(EMSNAME).h - $(CC) $(CFLAGS) -o $@ $< - -$(EMSNAME).obj: $(EMSOUT)/$(EMSNAME).c $(EMSOUT)/$(EMSNAME).h - $(CC) $(CFLAGS) -o $@ $< - -$(EMSOUT)/$(EMSNAME).h: $(SCHEMA)/schema.ems - $(EMBUILDER) -v --root=$(&2 - @exit 1 -endif - -.PHONY: all load clean local-clean out-check diff --git a/DUREX Vendor Control/CommunicationProtocol.m b/DUREX Vendor Control/CommunicationProtocol.m index 517b656..3781449 100644 --- a/DUREX Vendor Control/CommunicationProtocol.m +++ b/DUREX Vendor Control/CommunicationProtocol.m @@ -129,7 +129,7 @@ numBytes = remainingBytes; remainingBytes = 0; } - [[EMConnectionManager sharedManager] writeValue:[NSNumber numberWithUnsignedChar:(unsigned char)numBytes] toResource:@"data" onSuccess:^ + [[EMConnectionManager sharedManager] writeValue:[NSNumber numberWithUnsignedChar:(unsigned char)numBytes] toResource:@"numBytes" onSuccess:^ { status = TRUE; } diff --git a/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate b/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate index b2c0e25..3909138 100644 Binary files a/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate and b/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 57e6d72..0c56aef 100644 --- a/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -25,7 +25,7 @@ symbolName = "+[CommunicationProtocol sharedProtocol]" moduleName = "DUREX Vendor Control" urlString = "file://localhost/Users/imanol/devel/durex/DUREX%20Vendor%20Control/CommunicationProtocol.m" - timestampString = "426429770.784755" + timestampString = "428340358.431629" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "20" @@ -39,7 +39,7 @@ symbolName = "__39+[CommunicationProtocol sharedProtocol]_block_invoke" moduleName = "DUREX Vendor Control" urlString = "file://localhost/Users/imanol/devel/durex/DUREX%20Vendor%20Control/CommunicationProtocol.m" - timestampString = "426429770.78569" + timestampString = "428340358.432031" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "20" diff --git a/DUREX/.project b/DUREX/.project deleted file mode 100644 index 120fd18..0000000 --- a/DUREX/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - DUREX - - - - - - com.emmoco.mcmtooling.core.mcmToolingBuilder - - - - - - com.emmoco.mcmtooling.core.mcmToolingNature - - diff --git a/DUREX/Em/DUREX-STUBS.c b/DUREX/Em/DUREX-STUBS.c deleted file mode 100644 index 4d12809..0000000 --- a/DUREX/Em/DUREX-STUBS.c +++ /dev/null @@ -1,46 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#include "DUREX.h" - -#ifdef DUREX_STUBS_ /* enables optional inclusion of application stubs */ - -/* Copy the function skeletons below into your own application source file */ - -void DUREX_connectHandler(void) { - /* TODO: application is now connected */ -} - -void DUREX_disconnectHandler(void) { - /* TODO: application is now disconnected */ -} - -void DUREX_numBytes_fetch(DUREX_numBytes_t* output) { - /* TODO: read resource 'numBytes' into 'output' */ -} - -void DUREX_numBytes_store(DUREX_numBytes_t* input) { - /* TODO: write resource 'numBytes' from 'input' */ -} - -void DUREX_data_fetch(DUREX_data_t output) { - /* TODO: read resource 'data' into 'output' */ -} - -void DUREX_data_store(DUREX_data_t input) { - /* TODO: write resource 'data' from 'input' */ -} - -void DUREX_numPackets_fetch(DUREX_numPackets_t* output) { - /* TODO: read resource 'numPackets' into 'output' */ -} - -void DUREX_numPackets_store(DUREX_numPackets_t* input) { - /* TODO: write resource 'numPackets' from 'input' */ -} - -void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* output) { - /* TODO: read resource 'messageAvailable' into 'output' */ -} - -#endif /* application stubs */ diff --git a/DUREX/Em/DUREX.c b/DUREX/Em/DUREX.c deleted file mode 100644 index 8ee047a..0000000 --- a/DUREX/Em/DUREX.c +++ /dev/null @@ -1,540 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#include "Em_Message.h" -#include "DUREX.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define Em_Message_protocolLevel 13 - -typedef struct Em_App_Message { - uint8_t dummy[3]; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[229]; -} Em_App_Message; - -const uint8_t Em_App_hash[] = {28, 106, 83, 11, 248, 159, 192, 243, 66, 193, 233, 148, 55, 208, 191, 77, 13, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))}; - -const uint8_t Em_App_build[] = {208, 202, 48, 251, 69, 1, 0, 0}; - -#define Em_App_APP_RESOURCE_COUNT 4 -#define Em_App_SYS_RESOURCE_COUNT 9 - -#define Em_App_ACCEPT DUREX_accept -#define Em_App_ACTIVATEPARAMETERS DUREX_activateParameters -#define Em_App_BROADCASTOFF DUREX_broadcastOff -#define Em_App_DISCONNECT DUREX_disconnect -#define Em_App_PAIRINGON DUREX_pairingOn -#define Em_App_PAIRINGOFF DUREX_pairingOff -#define Em_App_RESET DUREX_reset -#define Em_App_SETDEVICENAME DUREX_setDeviceName -#define Em_App_START DUREX_start - -#define Em_App_CONNECTHANDLER DUREX_connectHandler -#define Em_App_DISCONNECTHANDLER DUREX_disconnectHandler - -#define Em_App_MAX_INDICATOR 2 - -/* BEGIN common code */ - -enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED}; - -typedef struct Em_App_Indicator { - uint8_t dummy[3]; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[Em_Message_INDSIZE]; -} Em_App_Indicator; - -union { uint32_t align; Em_App_Message msg; } Em_App_msg_u; -union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u; -#define Em_App_msg Em_App_msg_u.msg -#define Em_App_ind Em_App_ind_u.ind - -void (*Em_App_pdHdlr)(void); - -const uint16_t Em_App_endian = 0x0100; - -Em_Message_Size Em_App_recvIdx; -Em_Message_Size Em_App_recvSize; -Em_Message_Size Em_App_xmitIdx; -Em_Message_Size Em_App_xmitSize; - -uint8_t Em_App_state = Em_App_IDLE; -int32_t Em_App_fileIndex = 0; -uint32_t Em_App_xmitMask = 0; - -uint8_t* Em_App_valp; -uint8_t* Em_App_bufp; -const char* Em_App_desc; - -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr; -uint8_t* Em_App_outBuf = 0; - -uint8_t* _Em_Message_rxBuf = 0; -uint8_t _Em_Message_rxCnt = 0; - -uint8_t* _Em_Message_txBuf = 0; -uint8_t _Em_Message_txCnt = 0; - -#define Em_App_DEVNAME_LEN 9 -const char* Em_App_devName = 0; - -void Em_App_fetchDispatch(void); -void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc); -void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc); -void Em_App_storeDispatch(void); -void Em_App_sendIndicator(Em_Message_ResId indId); -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size); -void Em_App_startIndSend(void); -void Em_App_startResSend(void); -void Em_App_sysFetchDispatch(void); -void Em_App_sysStoreDispatch(void); -bool Em_App_xmitReady(Em_Message_ResId indId); - -void Em_Message_nextXmit(void) { - uint8_t key = Em_Hal_lock(); - if (Em_App_xmitMask != 0) { - uint8_t i; - uint32_t m; - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) { - if (Em_App_xmitMask & m) { - Em_App_xmitMask &= ~m; - if (i == 0) { - Em_App_startResSend(); - } - else { - Em_App_sendIndicator(i - 1); - } - break; - } - } - } - Em_Hal_unlock(key); -} - -void Em_Message_restart(void) { - Em_App_START(); -} - -void Em_App_ACCEPT(bool enable) { - if (Em_App_state == Em_App_CONNECTED) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACCEPT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = enable; - Em_App_startIndSend(); -} - -void Em_App_ACTIVATEPARAMETERS(uint8_t group) { - if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = group; - Em_App_startIndSend(); -} - -void Em_App_BROADCASTOFF(void) { - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_App_DISCONNECT(void) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_state = Em_App_DISCONNECTED; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_DISCONNECT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_Message_dispatch(void) { - if (Em_App_state == Em_App_IDLE) { - return; - } - switch (Em_App_msg.hdr.kind) { - case Em_Message_CONNECT: - Em_App_state = Em_App_CONNECTED; - Em_App_CONNECTHANDLER(); - break; - case Em_Message_DISCONNECT: - Em_App_state = Em_App_DISCONNECTED; - Em_App_DISCONNECTHANDLER(); - break; - case Em_Message_PAIRING_DONE: - if (Em_App_pdHdlr) { - (*Em_App_pdHdlr)(); - } - break; - case Em_Message_FETCH: - if (Em_App_msg.hdr.resId < 0x80) { - Em_App_fetchDispatch(); - } - else { - Em_App_sysFetchDispatch(); - } - break; - case Em_Message_STORE: - if (Em_App_msg.hdr.resId < 0x80) { - Em_App_storeDispatch(); - } - else { - Em_App_sysStoreDispatch(); - } - break; - } -} - -void Em_App_marshallToBuf() { - char ch; - while ((ch = *Em_App_desc++)) { - switch (ch) { - case '0' : { - *Em_App_bufp++ = 0; - break; - } - case '1' : { - *Em_App_bufp++ = *Em_App_valp & 0xFF; - break; - } - case '2' : { - uint16_t v16 = *(uint16_t*)Em_App_valp; - *Em_App_bufp++ = v16 & 0xFF; - *Em_App_bufp++ = (v16 >> 8) & 0xFF; - break; - } - case '4' : { - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++; - uint32_t v32 = *(uint32_t*)Em_App_valp++; - *Em_App_bufp++ = v32 & 0xFF; - *Em_App_bufp++ = (v32 >> 8) & 0xFF; - *Em_App_bufp++ = (v32 >> 16) & 0xFF; - *Em_App_bufp++ = (v32 >> 24) & 0xFF; - break; - } - } - Em_App_valp += 1; - } -} - -void Em_App_marshallToVal() { - char ch; - while ((ch = *Em_App_desc++)) { - switch (ch) { - case '0' : { - *Em_App_valp = 0; - Em_App_bufp += 1; - break; - } - case '1' : { - *Em_App_valp = *Em_App_bufp++ & 0xFF; - break; - } - case '2' : { - uint16_t v16 = *Em_App_bufp++ & 0xFF; - v16 |= (*Em_App_bufp++ << 8); - *(uint16_t*)Em_App_valp = v16; - break; - } - case '4' : { - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++; - uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF; - v32 |= ((uint32_t)*Em_App_bufp++ << 8); - v32 |= ((uint32_t)*Em_App_bufp++ << 16); - v32 |= ((uint32_t)*Em_App_bufp++ << 24); - *(uint32_t*)Em_App_valp++ = v32; - break; - } - } - Em_App_valp += 1; - } -} - -void Em_App_PAIRINGOFF(void(*handler)(void)) { - Em_App_PAIRINGON(0, handler); -} - -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) { - if (Em_App_state != Em_App_DISCONNECTED) { - return; - } - Em_App_pdHdlr = handler; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_PAIRING; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = secs; - Em_App_startIndSend(); -} - -void Em_App_RESET(void) { - Em_Hal_reset(); - _Em_Message_rxBuf = _Em_Message_txBuf = 0; - _Em_Message_rxCnt = _Em_Message_txCnt = 0; - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0; - Em_App_state = Em_App_IDLE; - Em_App_fileIndex = 0; - Em_App_xmitMask = 0; -} - -void Em_App_SETDEVICENAME(const char* name) { - Em_App_devName = name; -} - -void Em_App_START(void) { - Em_App_RESET(); - Em_App_state = Em_App_STARTING; -} - -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) { - if (Em_App_state != Em_App_IDLE) { - Em_App_msg.sot = 0; - Em_App_msg.hdr.kind = kind; - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header); - if (Em_App_xmitReady(0)) { - Em_App_startResSend(); - } - } -} - -void Em_App_startIndSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot; - Em_App_xmitSize = Em_App_ind.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Hal_startSend(); -} - -void Em_App_startResSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot; - Em_App_xmitSize = Em_App_msg.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Hal_startSend(); -} - -void Em_App_sysFetchDispatch(void) { - uint8_t size = 0; - int i, j; - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_SCHEMA_HASH: - for (i = 0; i < sizeof (Em_App_hash); i++) { - Em_App_msg.data[i] = Em_App_hash[i]; - } - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian); - size = sizeof (Em_App_hash) + 1; - break; - case Em_Message_SYS_MCM_NAME: - if (Em_App_devName) { - for (i = 0; i < Em_App_DEVNAME_LEN; i++) { - if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) { - break; - } - } - for (j = i; j < Em_App_DEVNAME_LEN; j++) { - Em_App_msg.data[j] = 0; - } - size = Em_App_DEVNAME_LEN; - } - break; - case Em_Message_SYS_EAP_PROTOCOL_LEVEL: - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel; - size = sizeof (Em_Message_protocolLevel_t); - break; - case Em_Message_SYS_EAP_BUILD_DATE: - for (i = 0; i < sizeof (Em_App_build); i++) { - Em_App_msg.data[i] = Em_App_build[i]; - } - size = sizeof (Em_App_build); - break; - case Em_Message_SYS_RESOURCE_COUNT: - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT; - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT; - size = 2; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_sysStoreDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_FILE_INDEX_RESET: - Em_App_fileIndex = 0; - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -bool Em_App_xmitReady(Em_Message_ResId indId) { - uint8_t key = Em_Hal_lock(); - bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0; - if (!res) { - Em_App_xmitMask |= (1 << indId); - } - Em_Hal_unlock(key); - return res; -} - -/* END common code */ - -void Em_App_fetchDispatch(void) { - uint8_t size = 0; - switch (Em_App_msg.hdr.resId) { - case 0: { - break; - } - case 1: { -#ifdef Em_16BIT - DUREX_numBytes_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - DUREX_numBytes_fetch(&val); - Em_App_marshallToBuf(); -#else - DUREX_numBytes_fetch((void*)Em_App_msg.data); -#endif - size = 1; - break; - } - case 2: { -#ifdef Em_16BIT - DUREX_data_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "*\xe5[1]"; - DUREX_data_fetch(&val); - Em_App_marshallToBuf(); -#else - DUREX_data_fetch((void*)Em_App_msg.data); -#endif - size = 229; - break; - } - case 3: { -#ifdef Em_16BIT - DUREX_numPackets_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - DUREX_numPackets_fetch(&val); - Em_App_marshallToBuf(); -#else - DUREX_numPackets_fetch((void*)Em_App_msg.data); -#endif - size = 1; - break; - } - case 4: { -#ifdef Em_16BIT - DUREX_messageAvailable_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - DUREX_messageAvailable_fetch(&val); - Em_App_marshallToBuf(); -#else - DUREX_messageAvailable_fetch((void*)Em_App_msg.data); -#endif - size = 1; - break; - } - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_storeDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case 0: { - break; - } - case 1: { -#ifdef Em_16BIT - DUREX_numBytes_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - Em_App_marshallToVal(); - DUREX_numBytes_store(&val); -#else - DUREX_numBytes_store((void*)Em_App_msg.data); -#endif - break; - } - case 2: { -#ifdef Em_16BIT - DUREX_data_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "*\xe5[1]"; - Em_App_marshallToVal(); - DUREX_data_store(&val); -#else - DUREX_data_store((void*)Em_App_msg.data); -#endif - break; - } - case 3: { -#ifdef Em_16BIT - DUREX_numPackets_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_msg.data; - Em_App_desc = "1"; - Em_App_marshallToVal(); - DUREX_numPackets_store(&val); -#else - DUREX_numPackets_store((void*)Em_App_msg.data); -#endif - break; - } - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -void Em_App_sendIndicator(Em_Message_ResId indId) { - Em_Message_Size resId = 0; - Em_Message_Size size = 0; - switch (indId) { - case 1: { -#ifdef Em_16BIT - DUREX_messageAvailable_t val; - Em_App_valp = (uint8_t*)&val; - Em_App_bufp = Em_App_ind.data; - Em_App_desc = "1"; - DUREX_messageAvailable_fetch(&val); - Em_App_marshallToBuf(); -#else - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)&Em_App_ind.data); -#endif - resId = 4; - size = 1; - break; - } - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size; - Em_App_ind.hdr.resId = resId; - Em_App_startIndSend(); -} - -void DUREX_messageAvailable_indicate(void) { - if (Em_App_state == Em_App_CONNECTED && Em_App_xmitReady(1 + 1)) Em_App_sendIndicator(1); -} - -#ifdef __cplusplus -} -#endif - diff --git a/DUREX/Em/DUREX.h b/DUREX/Em/DUREX.h deleted file mode 100644 index 44e6eda..0000000 --- a/DUREX/Em/DUREX.h +++ /dev/null @@ -1,68 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/ -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ - -#ifndef DUREX__H -#define DUREX__H - -#include "Em_Types.h" -#include "Em_Message.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------- connection callback functions implemented by the application -------- */ - -void DUREX_connectHandler(void); -void DUREX_disconnectHandler(void); - -/* -------- resource types defined in the schema -------- */ - -/* typedef String */ -typedef char DUREX_String[229]; -#define DUREX_String_length 229 - -/* enum BOOLEAN */ -typedef uint8_t DUREX_BOOLEAN; -#define DUREX_TRUE 0 -#define DUREX_FALSE 1 - -/* -------- resource callback functions implemented by the application -------- */ - -/* resource numBytes */ -typedef uint8_t DUREX_numBytes_t; -extern void DUREX_numBytes_fetch(DUREX_numBytes_t* output); -extern void DUREX_numBytes_store(DUREX_numBytes_t* input); - -/* resource data */ -typedef DUREX_String DUREX_data_t; -extern void DUREX_data_fetch(DUREX_data_t output); -extern void DUREX_data_store(DUREX_data_t input); - -/* resource numPackets */ -typedef uint8_t DUREX_numPackets_t; -extern void DUREX_numPackets_fetch(DUREX_numPackets_t* output); -extern void DUREX_numPackets_store(DUREX_numPackets_t* input); - -/* resource messageAvailable */ -typedef DUREX_BOOLEAN DUREX_messageAvailable_t; -extern void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* output); -extern void DUREX_messageAvailable_indicate(void); /* called by the application */ - -/* -------- application functions implemented in DUREX.c -------- */ - -void DUREX_accept(bool enable); -void DUREX_activateParameters(uint8_t group); -void DUREX_broadcastOff(void); -void DUREX_disconnect(void); -void DUREX_pairingOn(uint8_t secs, void(*handler)(void)); -void DUREX_pairingOff(void(*handler)(void)); -void DUREX_reset(void); -void DUREX_setDeviceName(const char* name); -void DUREX_start(void); - -#ifdef __cplusplus -} -#endif - -#endif /* DUREX__H */ diff --git a/DUREX/Em/Em_Message.h b/DUREX/Em/Em_Message.h deleted file mode 100644 index 3bd0d58..0000000 --- a/DUREX/Em/Em_Message.h +++ /dev/null @@ -1,182 +0,0 @@ -#ifndef Em_Message_H_ -#define Em_Message_H_ - -#include "Em_Types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------- SRT FUNCTIONS CALLED BY HAL -------- */ - -static inline bool Em_Message_addByte(uint8_t b); -extern void Em_Message_dispatch(void); -static inline bool Em_Message_getByte(uint8_t* bp); -extern void Em_Message_restart(void); -static inline bool Em_Message_startRx(void); -static inline uint8_t Em_Message_startTx(void); - - -/* -------- HAL FUNCTIONS CALLED BY SRT -------- */ - -extern uint8_t Em_Hal_lock(void); -extern void Em_Hal_reset(void); -extern void Em_Hal_startSend(void); -extern void Em_Hal_unlock(uint8_t key); -extern void Em_Hal_watchOff(void); -extern void Em_Hal_watchOn(void); - - -/* -------- MESSAGE FORMAT -------- */ - -/* protocolLevel #4 */ -#define Em_Message_INDSIZE 4 - -typedef uint8_t Em_Message_Size; -typedef uint8_t Em_Message_Kind; -/* protocolLevel #12 -- split 16-bit resId into */ -typedef uint8_t Em_Message_ResId; -typedef uint8_t Em_Message_Chan; - -#define Em_Message_NOP 0 -#define Em_Message_FETCH 1 -#define Em_Message_FETCH_DONE 2 -#define Em_Message_STORE 3 -#define Em_Message_STORE_DONE 4 -#define Em_Message_INDICATOR 5 -#define Em_Message_CONNECT 6 -#define Em_Message_DISCONNECT 7 -#define Em_Message_ECHO 8 -/* protocolLevel #3 */ -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */ -#define Em_Message_PAIRING 9 -#define Em_Message_PAIRING_DONE 10 -/* protocolLevel #7 */ -#define Em_Message_OFFLINE 11 -/* protocolLevel #8 */ -#define Em_Message_ACCEPT 12 -/* protocolLevel #13 */ -#define Em_Message_START 13 -#define Em_Message_ACTIVE_PARAMS 14 - -typedef struct Em_Message_Header { - Em_Message_Size size; - Em_Message_Kind kind; - Em_Message_ResId resId; - Em_Message_Chan chan; -} Em_Message_Header; - -typedef uint16_t Em_Message_protocolLevel_t; - -/* protocolLevel #1 */ - -/* protocolLevel #10 */ -/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */ - -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD -#define Em_Message_SYS_EAP_BUILD_DATE 0xFC - -/* protocolLevel #2 */ -#define Em_Message_SYS_FILE_INDEX_RESET 0xFB - -/* protocolLevel #5 */ -#define Em_Message_SYS_SCHEMA_HASH 0xFA - -/* protocolLevel #7 */ -#define Em_Message_SYS_RESOURCE_COUNT 0xF9 - -/* protocolLevel #9 */ -#define Em_Message_SYS_MOBILE_RSSI 0xF8 - -/* protocolLevel #11 */ -#define Em_Message_SYS_MCM_DISCONNECT 0xF7 - -/* protocolLevel #13a */ -#define Em_Message_SYS_MCM_NAME 0xF5 - - -/* -------- PRIVATE -------- */ - -extern void Em_Message_nextXmit(void); - -extern uint8_t* Em_App_inBuf; -extern uint8_t* Em_App_outBuf; -extern Em_Message_Size Em_App_xmitSize; - -extern uint8_t* _Em_Message_rxBuf; -extern uint8_t _Em_Message_rxCnt; - -extern uint8_t* _Em_Message_txBuf; -extern uint8_t _Em_Message_txCnt; - -static inline bool Em_Message_addByte(uint8_t b) { - if (_Em_Message_rxCnt == 0) { - if (b == 0) { - return false; - } - _Em_Message_rxCnt = b; - } - *_Em_Message_rxBuf++ = b; - if (--_Em_Message_rxCnt == 0) { - _Em_Message_rxBuf = 0; - if (_Em_Message_txBuf == 0) { - Em_Hal_watchOff(); - } - return true; - } - else { - return false; - } -} - -static inline bool Em_Message_getByte(uint8_t* bp) { - if (_Em_Message_txBuf == 0) { - return false; - } - if (_Em_Message_txCnt == 0) { - _Em_Message_txCnt = *_Em_Message_txBuf + 1; - } - if (--_Em_Message_txCnt > 0) { - *bp = *_Em_Message_txBuf++; - return true; - } - else { - _Em_Message_txBuf = 0; - Em_App_xmitSize = 0; - Em_Message_nextXmit(); - if (_Em_Message_rxBuf == 0) { - Em_Hal_watchOff(); - } - return false; - } -} - -static inline bool Em_Message_startRx(void) { - if (_Em_Message_rxBuf == 0) { - _Em_Message_rxBuf = Em_App_inBuf; - if (_Em_Message_txBuf == 0) { - Em_Hal_watchOn(); - } - return true; - } - else { - return false; - } -} - -static inline uint8_t Em_Message_startTx(void) { - _Em_Message_txBuf = Em_App_outBuf + 1; - _Em_Message_txCnt = 0; - if (_Em_Message_rxBuf == 0) { - Em_Hal_watchOn(); - } - return 0; -} - - -#ifdef __cplusplus -} -#endif - -#endif /*Em_Message_H_*/ diff --git a/DUREX/Em/Em_Types.h b/DUREX/Em/Em_Types.h deleted file mode 100644 index d002306..0000000 --- a/DUREX/Em/Em_Types.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef Em_Types_H_ -#define Em_Types_H_ - -#ifndef Em_NOSTDBOOL -#include -#endif - -#ifndef Em_NOSTDINT -#include -#endif - -#ifdef Em_16BIT -typedef signed char int8_t; -typedef unsigned char uint8_t; -#endif - -#endif /*Em_Types_H_*/ diff --git a/DUREX/Em/durex.json b/DUREX/Em/durex.json deleted file mode 100644 index 855e86c..0000000 --- a/DUREX/Em/durex.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "resources": { - "$eapProtocolLevel": { - "id": -3, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "numBytes": { - "id": 1, - "align": 1, - "attributes": {}, - "type": "u1", - "access": "rw", - "size": 1 - }, - "data": { - "id": 2, - "align": 1, - "attributes": {}, - "type": "C:229", - "access": "rw", - "size": 229 - }, - "$activeGroup": { - "id": -10, - "align": 1, - "pack": 1, - "attributes": {"readwrite": true}, - "type": "E:system@emmoco.com.System/ParameterGroup", - "access": "rw", - "size": 1 - }, - "$mcmDisconnect": { - "id": -9, - "align": 1, - "attributes": {"writeonly": true}, - "type": "u1", - "access": "w", - "size": 1 - }, - "$eapBuildDate": { - "dim": 8, - "id": -4, - "align": 1, - "attributes": {"readonly": true}, - "type": "A8:u1", - "access": "r", - "size": 8 - }, - "numPackets": { - "id": 3, - "align": 1, - "attributes": {}, - "type": "u1", - "access": "rw", - "size": 1 - }, - "$resourceCount": { - "id": -7, - "align": 1, - "attributes": {"readonly": true}, - "type": "S:system@emmoco.com.System/ResourceCount", - "access": "r", - "size": 2 - }, - "$schemaHash": { - "dim": 20, - "id": -6, - "align": 1, - "attributes": {"readonly": true}, - "type": "A20:u1", - "access": "r", - "size": 20 - }, - "messageAvailable": { - "id": 4, - "align": 1, - "pack": 1, - "attributes": {"indicator": true}, - "type": "E:@emmoco.com.DUREX/BOOLEAN", - "access": "ir", - "size": 1 - }, - "$mcmProtocolLevel": { - "id": -2, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "$mobileRssi": { - "id": -8, - "align": 1, - "attributes": {"readonly": true}, - "type": "i1", - "access": "r", - "size": 1 - }, - "$fileIndexReset": { - "id": -5, - "align": 2, - "attributes": {"writeonly": true}, - "type": "i2", - "access": "w", - "size": 2 - } - }, - "resourceNamesSys": [ - "$activeGroup", - "$eapBuildDate", - "$eapProtocolLevel", - "$fileIndexReset", - "$mcmDisconnect", - "$mcmProtocolLevel", - "$mobileRssi", - "$resourceCount", - "$schemaHash" - ], - "manifest": { - "protocolLevel": 13, - "hash": [ - 28, - 106, - 83, - 11, - 248, - 159, - 192, - 243, - 66, - 193, - 233, - 148, - 55, - 208, - 191, - 77 - ], - "toolVersion": "13.4.1.201311121909", - "name": "DUREX", - "$$md5": "1c6a530bf89fc0f342c1e99437d0bf4d", - "build": [ - 208, - 202, - 48, - 251, - 69, - 1, - 0, - 0 - ], - "date": "2014-05-14T16:44:10T", - "maxAlign": 2, - "maxSize": 229, - "version": "1.0.0" - }, - "resourceNames": [ - "numBytes", - "data", - "numPackets", - "messageAvailable", - "$mcmProtocolLevel", - "$eapProtocolLevel", - "$eapBuildDate", - "$fileIndexReset", - "$schemaHash", - "$resourceCount", - "$mobileRssi", - "$mcmDisconnect", - "$activeGroup" - ], - "attributes": { - "description": "", - "version": "1.0.0" - }, - "resourceNamesApp": [ - "numBytes", - "data", - "numPackets", - "messageAvailable" - ], - "types": { - "system@emmoco.com.System/ResourceCount": { - "packed": false, - "align": 1, - "type": "S:system@emmoco.com.System/ResourceCount", - "size": 2, - "fields": [ - { - "pad": 0, - "align": 1, - "name": "app", - "type": "u1", - "size": 1 - }, - { - "pad": 0, - "align": 1, - "name": "sys", - "type": "u1", - "size": 1 - } - ] - }, - "std:i2": { - "align": 2, - "size": 2 - }, - "std:i1": { - "align": 1, - "size": 1 - }, - "std:u1": { - "align": 1, - "size": 1 - }, - "@emmoco.com.DUREX/BOOLEAN": { - "values": [ - "TRUE", - "FALSE" - ], - "align": 1, - "pack": 1, - "type": "E:@emmoco.com.DUREX/BOOLEAN", - "size": 1 - }, - "system@emmoco.com.System/ParameterGroup": { - "values": [ - "GROUP_A", - "GROUP_B" - ], - "align": 1, - "pack": 1, - "type": "E:system@emmoco.com.System/ParameterGroup", - "size": 1 - }, - "std:u2": { - "align": 2, - "size": 2 - } - }, - "imports": {"@emmoco.com.DUREX": true} -} \ No newline at end of file diff --git a/DUREX/Schema-Imports/system@emmoco.com/System.ems b/DUREX/Schema-Imports/system@emmoco.com/System.ems deleted file mode 100644 index 9601635..0000000 --- a/DUREX/Schema-Imports/system@emmoco.com/System.ems +++ /dev/null @@ -1,72 +0,0 @@ -owner = "system@emmoco.com" - -schema System { - - // protocolLevel #13 - - enum ParameterGroup { - GROUP_A, GROUP_B - } - - // protocolLevel #1 - - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications - readonly - } - - uint16 $mcmProtocolLevel { - readonly - } - - uint16 $eapProtocolLevel { - readonly - } - - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber - readonly - } - - // protocolLevel #2 - - int16 $fileIndexReset { - writeonly - } - - // protocolLevel #5 - - // protocolLevel #12 -- increase size to 20 - - uint8 $schemaHash[20] { - readonly - } - - // protocolLevel #7 - - struct ResourceCount { - uint8 app - uint8 sys - } - - ResourceCount $resourceCount { - readonly - } - - // protocolLevel #9 - - int8 $mobileRssi { - readonly - } - - // protocolLevel #11 - - uint8 $mcmDisconnect { - writeonly - } - - // protocolLevel #13 - - ParameterGroup $activeGroup { - readwrite - } - -} diff --git a/DUREX/bundle.properties b/DUREX/bundle.properties deleted file mode 100644 index 07a1876..0000000 --- a/DUREX/bundle.properties +++ /dev/null @@ -1,10 +0,0 @@ -# generated file - do not edit - -bundle.requires = com.emmoco.schema.translator -com.emmoco.framework.Properties.applicationDirectory = Em -com.emmoco.framework.Properties.schemaDestinationDirectory = Em -com.emmoco.framework.Properties.serverAPIToken = -com.emmoco.framework.Properties.align16 = 2 -com.emmoco.framework.Properties.align32 = 4 -com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/durex/DUREX/schema.ems -com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909 diff --git a/DUREX/imports/system@emmoco.com/System.ems b/DUREX/imports/system@emmoco.com/System.ems deleted file mode 100644 index c71c87a..0000000 --- a/DUREX/imports/system@emmoco.com/System.ems +++ /dev/null @@ -1,60 +0,0 @@ -owner = "system@emmoco.com" - -schema System { - - // protocolLevel #1 - - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications - readonly - } - - uint16 $mcmProtocolLevel { - readonly - } - - uint16 $eapProtocolLevel { - readonly - } - - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber - readonly - } - - // protocolLevel #2 - - int16 $fileIndexReset { - writeonly - } - - // protocolLevel #5 - - // protocolLevel #12 -- increase size to 20 - - uint8 $schemaHash[20] { - readonly - } - - // protocolLevel #7 - - struct ResourceCount { - uint8 app - uint8 sys - } - - ResourceCount $resourceCount { - readonly - } - - // protocolLevel #9 - - int8 $mobileRssi { - readonly - } - - // protocolLevel #11 - - uint8 $mcmDisconnect { - writeonly - } - -} diff --git a/DUREX/out/DUREX-TODO.c b/DUREX/out/DUREX-TODO.c deleted file mode 100644 index 9089356..0000000 --- a/DUREX/out/DUREX-TODO.c +++ /dev/null @@ -1,50 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#include "DUREX.h" - -#ifdef Em_DUREX_TODO /* enables optional inclusion of empty functions */ - -/* Copy the function skeletons below into your own DUREX.c source file */ - -void DUREX_connectHandler(void) { - /* TODO: application is now connected */ -} - -void DUREX_disconnectHandler(void) { - /* TODO: application is now disconnected */ -} - -void DUREX_numBytes_fetch(DUREX_numBytes_t* const output) { - /* TODO: write resource 'numBytes' into 'output' */ -} - -void DUREX_numBytes_store(DUREX_numBytes_t* const input) { - /* TODO: read resource 'numBytes' from 'input' */ -} - -void DUREX_data_fetch(DUREX_data_t* const output) { - /* TODO: write resource 'data' into 'output' */ -} - -void DUREX_data_store(DUREX_data_t* const input) { - /* TODO: read resource 'data' from 'input' */ -} - -void DUREX_numPackets_fetch(DUREX_numPackets_t* const output) { - /* TODO: write resource 'numPackets' into 'output' */ -} - -void DUREX_numPackets_store(DUREX_numPackets_t* const input) { - /* TODO: read resource 'numPackets' from 'input' */ -} - -void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* const output) { - /* TODO: write resource 'messageAvailable' into 'output' */ -} - -void DUREX_messageAvailable_store(DUREX_messageAvailable_t* const input) { - /* TODO: read resource 'messageAvailable' from 'input' */ -} - -#endif /* dummy file */ diff --git a/DUREX/out/DUREX.c b/DUREX/out/DUREX.c deleted file mode 100644 index 59051c1..0000000 --- a/DUREX/out/DUREX.c +++ /dev/null @@ -1,355 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#include "Em_Message.h" -#include "DUREX.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define Em_Message_protocolLevel 12 - -typedef struct Em_App_Message { - uint8_t dummy; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[229]; -} Em_App_Message; - -const uint8_t Em_App_hash[] = {245, 13, 216, 92, 22, 189, 34, 32, 16, 124, 194, 50, 87, 152, 227, 110, 12, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))}; - -const uint8_t Em_App_build[] = {61, 15, 116, 250, 69, 1, 0, 0}; - -#define Em_App_APP_RESOURCE_COUNT 4 -#define Em_App_SYS_RESOURCE_COUNT 8 - -#define Em_App_ACCEPT DUREX_accept -#define Em_App_DISCONNECT DUREX_disconnect -#define Em_App_PAIRINGON DUREX_pairingOn -#define Em_App_PAIRINGOFF DUREX_pairingOff -#define Em_App_RESET DUREX_reset -#define Em_App_RUN DUREX_run - -#define Em_App_CONNECTHANDLER DUREX_connectHandler -#define Em_App_DISCONNECTHANDLER DUREX_disconnectHandler - -#define Em_App_MAX_INDICATOR 2 - -enum {Em_App_IDLE, Em_App_DISCONNECTED, Em_App_CONNECTED}; - -typedef struct Em_App_Indicator { - uint8_t dummy; - uint8_t sot; - Em_Message_Header hdr; - uint8_t data[Em_Message_INDSIZE]; -} Em_App_Indicator; - -void (*Em_App_pdHdlr)(void); - -const uint16_t Em_App_endian = 0x0100; - -Em_Message_Size Em_App_recvIdx; -Em_Message_Size Em_App_recvSize; -Em_Message_Size Em_App_xmitIdx; -Em_Message_Size Em_App_xmitSize; - -uint8_t Em_App_state = Em_App_IDLE; -Em_App_Message Em_App_msg; -Em_App_Indicator Em_App_ind; -bool Em_App_moreData = false; -bool Em_App_readIdle = true; -int32_t Em_App_fileIndex; -uint32_t Em_App_xmitMask; - -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr; -uint8_t* Em_App_outBuf; - -void Em_App_fetchDispatch(void); -void Em_App_storeDispatch(void); -void Em_App_sendIndicator(Em_Message_ResId indId); -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size); -void Em_App_startIndSend(void); -void Em_App_startResSend(void); -void Em_App_sysFetchDispatch(void); -void Em_App_sysStoreDispatch(void); -bool Em_App_xmitReady(Em_Message_ResId indId); - -bool Em_Message_addByte(uint8_t b) { - if (Em_App_readIdle && b) { - Em_App_recvSize = Em_App_inBuf[0] = b; - Em_App_recvIdx = 1; - Em_App_readIdle = false; - return false; - } - Em_App_inBuf[Em_App_recvIdx++] = b; - if (Em_App_recvIdx < Em_App_recvSize) { - return false; - } - Em_App_readIdle = true; - return true; -} - -bool Em_Message_getByte(uint8_t* bp) { - uint8_t key = Em_Message_lock(); - Em_App_moreData = (Em_App_xmitSize != 0); - if (!Em_App_moreData && (Em_App_xmitMask != 0)) { - uint8_t i; - uint32_t m; - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) { - if (Em_App_xmitMask & m) { - Em_App_xmitMask &= ~m; - if (i == 0) { - Em_App_startResSend(); - } - else { - Em_App_sendIndicator(i); - } - break; - } - } - Em_Message_unlock(key); - return false; - } - else if (Em_App_moreData) { - *bp = Em_App_outBuf[Em_App_xmitIdx++]; - Em_App_xmitSize -= 1; - } - Em_Message_unlock(key); - return Em_App_moreData; -} - -void Em_App_ACCEPT(bool enable) { - if (Em_App_state == Em_App_CONNECTED) { - return; - } - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_ACCEPT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = enable; - Em_App_startIndSend(); -} - -void Em_App_DISCONNECT(void) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_state = Em_App_DISCONNECTED; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_DISCONNECT; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = 0; - Em_App_startIndSend(); -} - -void Em_Message_dispatch(void) { - if (Em_App_state == Em_App_IDLE) { - return; - } - switch (Em_App_msg.hdr.kind) { - case Em_Message_CONNECT: - Em_App_state = Em_App_CONNECTED; - Em_App_CONNECTHANDLER(); - break; - case Em_Message_DISCONNECT: - Em_App_state = Em_App_DISCONNECTED; - Em_App_DISCONNECTHANDLER(); - break; - case Em_Message_PAIRING_DONE: - if (Em_App_pdHdlr) { - (*Em_App_pdHdlr)(); - } - break; - case Em_Message_FETCH: - if (Em_App_msg.hdr.resId > 0) { - Em_App_fetchDispatch(); - } - else { - Em_App_sysFetchDispatch(); - } - break; - case Em_Message_STORE: - if (Em_App_msg.hdr.resId > 0) { - Em_App_storeDispatch(); - } - else { - Em_App_sysStoreDispatch(); - } - break; - } -} - -void Em_App_PAIRINGOFF(void(*handler)(void)) { - Em_App_PAIRINGON(0, handler); -} - -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) { - if (Em_App_state != Em_App_DISCONNECTED) { - return; - } - Em_App_pdHdlr = handler; - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_PAIRING; - Em_App_ind.hdr.size = sizeof (Em_Message_Header); - Em_App_ind.hdr.resId = secs; - Em_App_startIndSend(); -} - -void Em_App_RESET(void) { - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0; - Em_App_state = Em_App_IDLE; - Em_App_moreData = false; - Em_App_readIdle = true; - Em_App_fileIndex = 0; - Em_App_xmitMask = 0; -} - -void Em_App_RUN(void) { - Em_App_state = Em_App_DISCONNECTED; -} - -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) { - if (Em_App_state != Em_App_CONNECTED) { - return; - } - Em_App_msg.sot = 0; - Em_App_msg.hdr.kind = kind; - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header); - if (Em_App_xmitReady(0)) { - Em_App_startResSend(); - } -} - -void Em_App_startIndSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot; - Em_App_xmitSize = Em_App_ind.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Message_startSend(); -} - -void Em_App_startResSend(void) { - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot; - Em_App_xmitSize = Em_App_msg.hdr.size + 1; - Em_App_xmitIdx = 0; - Em_Message_startSend(); -} - -void Em_App_sysFetchDispatch(void) { - uint8_t size = 0; - int i; - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_SCHEMA_HASH: - for (i = 0; i < sizeof (Em_App_hash); i++) { - Em_App_msg.data[i] = Em_App_hash[i]; - } - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian); - size = sizeof (Em_App_hash) + 1; - break; - case Em_Message_SYS_EAP_PROTOCOL_LEVEL: - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel; - size = sizeof (Em_Message_protocolLevel_t); - break; - case Em_Message_SYS_EAP_BUILD_DATE: - for (i = 0; i < sizeof (Em_App_build); i++) { - Em_App_msg.data[i] = Em_App_build[i]; - } - size = sizeof (Em_App_build); - break; - case Em_Message_SYS_RESOURCE_COUNT: - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT; - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT; - size = 2; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_sysStoreDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case Em_Message_SYS_FILE_INDEX_RESET: - Em_App_fileIndex = 0; - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -bool Em_App_xmitReady(Em_Message_ResId indId) { - uint8_t key = Em_Message_lock(); - bool res = !Em_App_moreData && Em_App_xmitMask == 0; - if (!res) { - Em_App_xmitMask |= (1 << indId); - } - Em_Message_unlock(key); - return res; -} - -void Em_App_fetchDispatch(void) { - uint8_t size = 0; - switch (Em_App_msg.hdr.resId) { - case 0: - break; - case 1: - DUREX_numBytes_fetch((DUREX_numBytes_t*)Em_App_msg.data); - size = 1; - break; - case 2: - DUREX_data_fetch((DUREX_data_t*)Em_App_msg.data); - size = 229; - break; - case 3: - DUREX_numPackets_fetch((DUREX_numPackets_t*)Em_App_msg.data); - size = 1; - break; - case 4: - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)Em_App_msg.data); - size = 1; - break; - } - Em_App_sendResponse(Em_Message_FETCH_DONE, size); -} - -void Em_App_storeDispatch(void) { - switch (Em_App_msg.hdr.resId) { - case 0: - break; - case 1: - DUREX_numBytes_store((DUREX_numBytes_t*)Em_App_msg.data); - break; - case 2: - DUREX_data_store((DUREX_data_t*)Em_App_msg.data); - break; - case 3: - DUREX_numPackets_store((DUREX_numPackets_t*)Em_App_msg.data); - break; - case 4: - DUREX_messageAvailable_store((DUREX_messageAvailable_t*)Em_App_msg.data); - break; - } - Em_App_sendResponse(Em_Message_STORE_DONE, 0); -} - -void Em_App_sendIndicator(Em_Message_ResId indId) { - Em_Message_Size resId = 0; - Em_Message_Size size = 0; - switch (indId) { - case 1: - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)&Em_App_ind.data); - resId = 4; - size = 1; - break; -} - Em_App_ind.sot = 0; - Em_App_ind.hdr.kind = Em_Message_INDICATOR; - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size; - Em_App_ind.hdr.resId = resId; - Em_App_startIndSend(); -} - -void DUREX_messageAvailable_indicate(void) { - if (Em_App_state != Em_App_IDLE && Em_App_xmitReady(1)) Em_App_sendIndicator(1); -} - -#ifdef __cplusplus -} -#endif - diff --git a/DUREX/out/DUREX.h b/DUREX/out/DUREX.h deleted file mode 100644 index b66f607..0000000 --- a/DUREX/out/DUREX.h +++ /dev/null @@ -1,59 +0,0 @@ -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/ -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/ - -#ifndef DUREX__H -#define DUREX__H - -#include "Em_Types.h" -#include "Em_Message.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* typedef String */ -typedef char DUREX_String; -#define DUREX_String_length 229 - -/* enum BOOLEAN */ -typedef uint8_t DUREX_BOOLEAN; -#define DUREX_TRUE 0 -#define DUREX_FALSE 1 - -/* resource numBytes */ -typedef uint8_t DUREX_numBytes_t; -extern void DUREX_numBytes_fetch(DUREX_numBytes_t* const output); -extern void DUREX_numBytes_store(DUREX_numBytes_t* const input); - -/* resource data */ -typedef DUREX_String DUREX_data_t[229]; -extern void DUREX_data_fetch(DUREX_data_t* const output); -extern void DUREX_data_store(DUREX_data_t* const input); - -/* resource numPackets */ -typedef uint8_t DUREX_numPackets_t; -extern void DUREX_numPackets_fetch(DUREX_numPackets_t* const output); -extern void DUREX_numPackets_store(DUREX_numPackets_t* const input); - -/* resource messageAvailable */ -typedef DUREX_BOOLEAN DUREX_messageAvailable_t; -extern void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* const output); -extern void DUREX_messageAvailable_store(DUREX_messageAvailable_t* const input); -extern void DUREX_messageAvailable_indicate(void); - -void DUREX_reset(void); -void DUREX_run(void); - -void DUREX_accept(bool enable); -void DUREX_disconnect(void); -void DUREX_pairingOn(uint8_t secs, void(*handler)(void)); -void DUREX_pairingOff(void(*handler)(void)); - -void DUREX_connectHandler(void); -void DUREX_disconnectHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* DUREX__H */ diff --git a/DUREX/out/DUREX.zip b/DUREX/out/DUREX.zip deleted file mode 100644 index ce6a25a..0000000 Binary files a/DUREX/out/DUREX.zip and /dev/null differ diff --git a/DUREX/out/Em_Message.h b/DUREX/out/Em_Message.h deleted file mode 100644 index dd64233..0000000 --- a/DUREX/out/Em_Message.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef Em_Message_H_ -#define Em_Message_H_ - -#include "Em_Types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* protocolLevel #4 */ -#define Em_Message_INDSIZE 4 - -typedef uint8_t Em_Message_Size; -typedef uint8_t Em_Message_Kind; -/* protocolLevel #12 -- split 16-bit resId into */ -typedef int8_t Em_Message_ResId; -typedef uint8_t Em_Message_Chan; - -#define Em_Message_NOP 0 -#define Em_Message_FETCH 1 -#define Em_Message_FETCH_DONE 2 -#define Em_Message_STORE 3 -#define Em_Message_STORE_DONE 4 -#define Em_Message_INDICATOR 5 -#define Em_Message_CONNECT 6 -#define Em_Message_DISCONNECT 7 -#define Em_Message_ECHO 8 -/* protocolLevel #3 */ -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */ -#define Em_Message_PAIRING 9 -#define Em_Message_PAIRING_DONE 10 -/* protocolLevel #7 */ -#define Em_Message_OFFLINE 11 -/* protocolLevel #8 */ -#define Em_Message_ACCEPT 12 - -typedef struct Em_Message_Header { - Em_Message_Size size; - Em_Message_Kind kind; - Em_Message_ResId resId; - Em_Message_Chan chan; -} Em_Message_Header; - -typedef uint16_t Em_Message_protocolLevel_t; - -/* protocolLevel #1 */ - -/* protocolLevel #10 */ -/* #define Em_Message_SYS_SCHEMA_UUID -1 */ - -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL -2 -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL -3 -#define Em_Message_SYS_EAP_BUILD_DATE -4 - -/* protocolLevel #2 */ -#define Em_Message_SYS_FILE_INDEX_RESET -5 - -/* protocolLevel #5 */ -#define Em_Message_SYS_SCHEMA_HASH -6 - -/* protocolLevel #7 */ -#define Em_Message_SYS_RESOURCE_COUNT -7 - -/* protocolLevel #9 */ -#define Em_Message_SYS_MOBILE_RSSI -8 - -/* protocolLevel #11 */ -#define Em_Message_SYS_MCM_DISCONNECT -9 - -extern void Em_Message_init(void); - -extern bool Em_Message_addByte(uint8_t b); -extern void Em_Message_dispatch(void); -extern bool Em_Message_getByte(uint8_t *bp); -extern uint8_t Em_Message_lock(void); -extern void Em_Message_startSend(void); -extern void Em_Message_unlock(uint8_t key); - -#ifdef __cplusplus -} -#endif - -#endif /*Em_Message_H_*/ diff --git a/DUREX/out/Em_Types.h b/DUREX/out/Em_Types.h deleted file mode 100644 index a221d54..0000000 --- a/DUREX/out/Em_Types.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef Em_Types_H_ -#define Em_Types_H_ - -#ifndef EM_NOSTDBOOL -#include -#endif - -#ifndef EM_NOSTDINT -#include -#endif - -#endif /*Em_Types_H_*/ diff --git a/DUREX/out/durex.json b/DUREX/out/durex.json deleted file mode 100644 index 5bd3423..0000000 --- a/DUREX/out/durex.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "resources": { - "$schemaHash": { - "id": -6, - "align": 1, - "attributes": {"readonly": true}, - "type": "A20:u1", - "access": "r", - "size": 20 - }, - "$eapProtocolLevel": { - "id": -3, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "$mcmProtocolLevel": { - "id": -2, - "align": 2, - "attributes": {"readonly": true}, - "type": "u2", - "access": "r", - "size": 2 - }, - "messageAvailable": { - "id": 4, - "align": 1, - "attributes": {"indicator": true}, - "type": "E:@emmoco.com.DUREX/BOOLEAN", - "access": "irw", - "size": 1 - }, - "numBytes": { - "id": 1, - "align": 1, - "attributes": {}, - "type": "u1", - "access": "rw", - "size": 1 - }, - "$mobileRssi": { - "id": -8, - "align": 1, - "attributes": {"readonly": true}, - "type": "i1", - "access": "r", - "size": 1 - }, - "data": { - "id": 2, - "align": 1, - "attributes": {}, - "type": "C:229", - "access": "rw", - "size": 229 - }, - "$mcmDisconnect": { - "id": -9, - "align": 1, - "attributes": {"writeonly": true}, - "type": "u1", - "access": "w", - "size": 1 - }, - "$eapBuildDate": { - "id": -4, - "align": 1, - "attributes": {"readonly": true}, - "type": "A8:u1", - "access": "r", - "size": 8 - }, - "$resourceCount": { - "id": -7, - "align": 1, - "attributes": {"readonly": true}, - "type": "S:system@emmoco.com.System/ResourceCount", - "access": "r", - "size": 2 - }, - "numPackets": { - "id": 3, - "align": 1, - "attributes": {}, - "type": "u1", - "access": "rw", - "size": 1 - }, - "$fileIndexReset": { - "id": -5, - "align": 2, - "attributes": {"writeonly": true}, - "type": "i2", - "access": "w", - "size": 2 - } - }, - "resourceNamesSys": [ - "$eapBuildDate", - "$eapProtocolLevel", - "$fileIndexReset", - "$mcmDisconnect", - "$mcmProtocolLevel", - "$mobileRssi", - "$resourceCount", - "$schemaHash" - ], - "manifest": { - "protocolLevel": 12, - "hash": [ - 245, - 13, - 216, - 92, - 22, - 189, - 34, - 32, - 16, - 124, - 194, - 50, - 87, - 152, - 227, - 110 - ], - "toolVersion": "12.0.0.201211010336", - "name": "DUREX", - "$$md5": "f316f8e8839db2a2939bf3e0120a1fdf", - "build": [ - 61, - 15, - 116, - 250, - 69, - 1, - 0, - 0 - ], - "date": "2014-05-14T13:18:01T", - "maxAlign": 2, - "maxSize": 229, - "version": "1.0.0" - }, - "resourceNames": [ - "numBytes", - "data", - "numPackets", - "messageAvailable", - "$mcmProtocolLevel", - "$eapProtocolLevel", - "$eapBuildDate", - "$fileIndexReset", - "$schemaHash", - "$resourceCount", - "$mobileRssi", - "$mcmDisconnect" - ], - "attributes": { - "description": "", - "version": "1.0.0" - }, - "types": { - "system@emmoco.com.System/ResourceCount": { - "align": 1, - "type": "S:system@emmoco.com.System/ResourceCount", - "size": 2, - "fields": [ - { - "pad": 0, - "align": 1, - "name": "app", - "type": "u1", - "size": 1 - }, - { - "pad": 0, - "align": 1, - "name": "sys", - "type": "u1", - "size": 1 - } - ] - }, - "std:i2": { - "align": 2, - "size": 2 - }, - "std:i1": { - "align": 1, - "size": 1 - }, - "@emmoco.com.DUREX/BOOLEAN": { - "values": [ - "TRUE", - "FALSE" - ], - "align": 1, - "type": "E:@emmoco.com.DUREX/BOOLEAN", - "size": 1 - }, - "std:u1": { - "align": 1, - "size": 1 - }, - "std:u2": { - "align": 2, - "size": 2 - } - }, - "resourceNamesApp": [ - "data", - "messageAvailable", - "numBytes", - "numPackets" - ], - "imports": {"@emmoco.com.DUREX": true} -} \ No newline at end of file diff --git a/DUREX/schema.ems b/DUREX/schema.ems deleted file mode 100644 index 04b2df6..0000000 --- a/DUREX/schema.ems +++ /dev/null @@ -1,16 +0,0 @@ -version = "1.0.0" -description = "" - -schema DUREX -{ - enum BOOLEAN{ TRUE, FALSE }; - typedef string<228> String; //MAXIMUM SIZE AVAILABLE - - uint8 numBytes; - String data; - uint8 numPackets; - BOOLEAN messageAvailable - { - indicator - } -} diff --git a/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Builder.launch b/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Builder.launch deleted file mode 100644 index 5d24391..0000000 --- a/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Builder.launch +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Cleaner.launch b/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Cleaner.launch deleted file mode 100644 index 0a85be5..0000000 --- a/DUREXLaunchpad/.externalToolBuilders/DUREX LaunchPad Cleaner.launch +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/DUREXLaunchpad/.gitignore b/DUREXLaunchpad/.gitignore deleted file mode 100644 index ea47c16..0000000 --- a/DUREXLaunchpad/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/main.map -/main.out diff --git a/DUREXLaunchpad/.project b/DUREXLaunchpad/.project deleted file mode 100644 index 8c71a62..0000000 --- a/DUREXLaunchpad/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - DUREXLaunchpad - - - DUREX - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - full,incremental, - - - LaunchConfigHandle - <project>/.externalToolBuilders/DUREX LaunchPad Builder.launch - - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - clean, - - - LaunchConfigHandle - <project>/.externalToolBuilders/DUREX LaunchPad Cleaner.launch - - - - - - com.emmoco.mcmtooling.example.mcmToolingExampleNature - - diff --git a/DUREXLaunchpad/.settings/org.eclipse.ltk.core.refactoring.prefs b/DUREXLaunchpad/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index b196c64..0000000 --- a/DUREXLaunchpad/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/DUREXLaunchpad/DUREX.obj b/DUREXLaunchpad/DUREX.obj deleted file mode 100644 index 7415729..0000000 Binary files a/DUREXLaunchpad/DUREX.obj and /dev/null differ diff --git a/DUREXLaunchpad/Log/log.txt b/DUREXLaunchpad/Log/log.txt deleted file mode 100644 index e69de29..0000000 --- a/DUREXLaunchpad/Log/log.txt +++ /dev/null diff --git a/DUREXLaunchpad/main.c b/DUREXLaunchpad/main.c deleted file mode 100644 index b5a8834..0000000 --- a/DUREXLaunchpad/main.c +++ /dev/null @@ -1,270 +0,0 @@ -/* - * ============ Platform Configuration ============ - */ - -#include - -#define EAP_RX_BUF UCA0RXBUF -#define EAP_TX_BUF UCA0TXBUF - -#define EAP_RX_VECTOR USCIAB0RX_VECTOR -#define EAP_TX_VECTOR PORT2_VECTOR - -#define EAP_RX_ACK_CONFIG() (P2DIR |= BIT0) -#define EAP_RX_ACK_SET() (P2OUT |= BIT0) -#define EAP_RX_ACK_CLR() (P2OUT &= ~BIT0) - -#define EAP_TX_INT_CONFIG() (P2DIR &= ~BIT1, P2IES |= BIT1, P2IFG &= BIT1, P2IE |= BIT1) -#define EAP_TX_INT_TST() (P2IFG & BIT1) -#define EAP_TX_INT_CLR() (P2IFG &= ~BIT1) - -void init(void) -{ - WDTCTL = WDTPW + WDTHOLD; - BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0; - if (CALBC1_1MHZ != 0xFF) - { - DCOCTL = 0x00; - BCSCTL1 = CALBC1_1MHZ; /* Set DCO to 1MHz */ - DCOCTL = CALDCO_1MHZ; - } - BCSCTL1 |= XT2OFF + DIVA_0; - BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1; - - P1DIR |= BIT0 + BIT6; /* LED */ - P1OUT &= ~BIT0; - - UCA0CTL1 |= UCSWRST; - - P1SEL |= BIT1 + BIT2; - P1SEL2 |= BIT1 + BIT2; - - EAP_RX_ACK_CONFIG(); - EAP_RX_ACK_SET(); - - EAP_TX_INT_CONFIG(); - - UCA0CTL1 = UCSSEL_2 + UCSWRST; - UCA0MCTL = UCBRF_0 + UCBRS_6; - UCA0BR0 = 8; - UCA0CTL1 &= ~UCSWRST; - - IFG2 &= ~(UCA0RXIFG); - IE2 |= UCA0RXIE; - - __enable_interrupt(); -} - -/* - * ============ Serial Driver ============ - */ - -#include - -__attribute__((interrupt(EAP_RX_VECTOR))) -static void rxHandler(void) -{ - uint8_t b = EAP_RX_BUF; - if (Em_Message_addByte(b)) - { - Em_Message_dispatch(); - } - EAP_RX_ACK_CLR(); - EAP_RX_ACK_SET(); -} - -__attribute__((interrupt(EAP_TX_VECTOR))) -static void txHandler(void) -{ - if (EAP_TX_INT_TST()) - { - uint8_t b; - if (Em_Message_getByte(&b)) - { - EAP_TX_BUF = b; - } - EAP_TX_INT_CLR(); - } -} - -void Em_Message_startSend() -{ - uint8_t b; - if (Em_Message_getByte(&b)) - { - UCA0TXBUF = b; - } -} - -uint8_t Em_Message_lock() -{ - uint8_t key; - asm ("MOV r2, %0": "=r" (key)); - key &= 0x8; - asm ("DINT"); - return key; -} - -void Em_Message_unlock(uint8_t key) -{ - if (key) - { - asm ("EINT"); - } - else - { - asm ("DINT"); - } -} - -/* - * Extra code and interrupts - */ - -void led0_toggle(void) -{ - P1OUT ^= BIT0; -} - -void led1_toggle(void) -{ - P1OUT ^= BIT6; -} - -void led0_on(void) -{ - P1OUT |= BIT0; -} - -void led0_off(void) -{ - P1OUT &= ~BIT0; -} - -void led1_on(void) -{ - P1OUT |= BIT6; -} - -void led1_off(void) -{ - P1OUT &= ~BIT6; -} - -__attribute__((interrupt(TIMER0_A0_VECTOR))) -static void Timer_A (void) -{ - led0_toggle(); // Toggle LED - //led1_toggle(); -} - -void initTimer(void) -{ - CCTL0 = CCIE; // CCR0 interrupt enabled - CCR0 = 2048; // 32kHz/8/4096 -> 1 sec - TACTL = TASSEL_1 + ID_3 + MC_1; // ACLK, /8, upmode - led1_off(); -} - -void stopTimer(void) -{ - CCTL0 ^= CCTL0 ; -} - -/* - * ============ Application Program ============ - */ - -#include -#include - -DUREX_numBytes_t numBytes = 0; -DUREX_data_t data = ""; -DUREX_numPackets_t numPackets = 0; -DUREX_messageAvailable_t messageAvailable = 0; -uint8_t lastMessageAck = 1; - -int main(int argc, char *argv[]) -{ - volatile int dummy = 0; - init(); - initTimer(); - DUREX_run(); - while (dummy == 0) - { - /* idle */ - } - return 0; -} - -void DUREX_connectHandler(void) -{ - stopTimer(); - led0_on(); - led1_off(); -} - -void DUREX_disconnectHandler(void) -{ - led0_off(); - led1_off(); - initTimer(); -} - -void DUREX_numBytes_fetch(DUREX_numBytes_t* const output) -{ - *output = numBytes; -} - -void DUREX_numBytes_store(DUREX_numBytes_t* const input) -{ - numBytes = *input; -} - -void DUREX_data_fetch(DUREX_data_t* const output) -{ - memcpy(output,data,numBytes); -} - -void DUREX_data_store(DUREX_data_t* const input) -{ - memcpy(data,input,numBytes); -} - -void DUREX_numPackets_fetch(DUREX_numPackets_t* const output) -{ - *output = numPackets; -} - -void DUREX_numPackets_store(DUREX_numPackets_t* const input) -{ - numPackets = *input; -} - -void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* const output) -{ - *output = messageAvailable; -} - -void DUREX_messageAvailable_store(DUREX_messageAvailable_t* const input) -{ - messageAvailable = *input; - if(messageAvailable == DUREX_TRUE) - { - led1_on(); - lastMessageAck = 0; - messageAvailable = DUREX_FALSE; - DUREX_messageAvailable_indicate(); - memcpy(data,"ACK",4); - numPackets = 1; - numBytes = 4; - messageAvailable = DUREX_TRUE; - DUREX_messageAvailable_indicate(); - } - else if(messageAvailable == DUREX_FALSE) - { - led1_off(); - lastMessageAck = 1; - } -} - diff --git a/DUREXLaunchpad/main.map b/DUREXLaunchpad/main.map deleted file mode 100644 index 3bd348b..0000000 --- a/DUREXLaunchpad/main.map +++ /dev/null @@ -1,620 +0,0 @@ -Archive member included because of file (symbol) - -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - main.obj (memcpy) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_reset_vector__) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__watchdog_support) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__init_stack) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__low_level_init) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_copy_data) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_clear_bss) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__stop_progExec__) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (_endless_loop__) -/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_unexpected_) - -Allocating common symbols -Common symbol size file - -Em_App_recvIdx 0x1 DUREX.obj -Em_App_xmitSize 0x1 DUREX.obj -Em_App_outBuf 0x2 DUREX.obj -Em_App_ind 0xa DUREX.obj -Em_App_xmitMask 0x4 DUREX.obj -Em_App_msg 0xec DUREX.obj -Em_App_recvSize 0x1 DUREX.obj -Em_App_fileIndex 0x4 DUREX.obj -Em_App_pdHdlr 0x2 DUREX.obj -Em_App_xmitIdx 0x1 DUREX.obj - -Memory Configuration - -Name Origin Length Attributes -sfr 0x0000000000000000 0x0000000000000010 -peripheral_8bit 0x0000000000000010 0x00000000000000f0 -peripheral_16bit 0x0000000000000100 0x0000000000000100 -ram 0x0000000000000200 0x0000000000000200 xw -infomem 0x0000000000001000 0x0000000000000100 -infod 0x0000000000001000 0x0000000000000040 -infoc 0x0000000000001040 0x0000000000000040 -infob 0x0000000000001080 0x0000000000000040 -infoa 0x00000000000010c0 0x0000000000000040 -rom 0x000000000000c000 0x0000000000003fe0 xr -vectors 0x000000000000ffe0 0x0000000000000020 -bsl 0x0000000000000000 0x0000000000000000 -far_rom 0x0000000000000000 0x0000000000000000 -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - -LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o -LOAD main.obj -LOAD DUREX.obj -LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a -LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a -LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a -LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a - 0x0000000000000040 PROVIDE (__info_segment_size, 0x40) - 0x0000000000001000 PROVIDE (__infod, 0x1000) - 0x0000000000001040 PROVIDE (__infoc, 0x1040) - 0x0000000000001080 PROVIDE (__infob, 0x1080) - 0x00000000000010c0 PROVIDE (__infoa, 0x10c0) - 0x0000000000000000 __IE1 = 0x0 - 0x0000000000000002 __IFG1 = 0x2 - 0x0000000000000001 __IE2 = 0x1 - 0x0000000000000003 __IFG2 = 0x3 - 0x0000000000000048 __ADC10DTC0 = 0x48 - 0x0000000000000049 __ADC10DTC1 = 0x49 - 0x000000000000004a __ADC10AE0 = 0x4a - 0x00000000000001b0 __ADC10CTL0 = 0x1b0 - 0x00000000000001b2 __ADC10CTL1 = 0x1b2 - 0x00000000000001b4 __ADC10MEM = 0x1b4 - 0x00000000000001bc __ADC10SA = 0x1bc - 0x0000000000000056 __DCOCTL = 0x56 - 0x0000000000000057 __BCSCTL1 = 0x57 - 0x0000000000000058 __BCSCTL2 = 0x58 - 0x0000000000000053 __BCSCTL3 = 0x53 - 0x0000000000000059 __CACTL1 = 0x59 - 0x000000000000005a __CACTL2 = 0x5a - 0x000000000000005b __CAPD = 0x5b - 0x0000000000000128 __FCTL1 = 0x128 - 0x000000000000012a __FCTL2 = 0x12a - 0x000000000000012c __FCTL3 = 0x12c - 0x0000000000000020 __P1IN = 0x20 - 0x0000000000000021 __P1OUT = 0x21 - 0x0000000000000022 __P1DIR = 0x22 - 0x0000000000000023 __P1IFG = 0x23 - 0x0000000000000024 __P1IES = 0x24 - 0x0000000000000025 __P1IE = 0x25 - 0x0000000000000026 __P1SEL = 0x26 - 0x0000000000000041 __P1SEL2 = 0x41 - 0x0000000000000027 __P1REN = 0x27 - 0x0000000000000028 __P2IN = 0x28 - 0x0000000000000029 __P2OUT = 0x29 - 0x000000000000002a __P2DIR = 0x2a - 0x000000000000002b __P2IFG = 0x2b - 0x000000000000002c __P2IES = 0x2c - 0x000000000000002d __P2IE = 0x2d - 0x000000000000002e __P2SEL = 0x2e - 0x0000000000000042 __P2SEL2 = 0x42 - 0x000000000000002f __P2REN = 0x2f - 0x0000000000000018 __P3IN = 0x18 - 0x0000000000000019 __P3OUT = 0x19 - 0x000000000000001a __P3DIR = 0x1a - 0x000000000000001b __P3SEL = 0x1b - 0x0000000000000043 __P3SEL2 = 0x43 - 0x0000000000000010 __P3REN = 0x10 - 0x000000000000012e __TA0IV = 0x12e - 0x0000000000000160 __TA0CTL = 0x160 - 0x0000000000000162 __TA0CCTL0 = 0x162 - 0x0000000000000164 __TA0CCTL1 = 0x164 - 0x0000000000000166 __TA0CCTL2 = 0x166 - 0x0000000000000170 __TA0R = 0x170 - 0x0000000000000172 __TA0CCR0 = 0x172 - 0x0000000000000174 __TA0CCR1 = 0x174 - 0x0000000000000176 __TA0CCR2 = 0x176 - 0x000000000000011e __TA1IV = 0x11e - 0x0000000000000180 __TA1CTL = 0x180 - 0x0000000000000182 __TA1CCTL0 = 0x182 - 0x0000000000000184 __TA1CCTL1 = 0x184 - 0x0000000000000186 __TA1CCTL2 = 0x186 - 0x0000000000000190 __TA1R = 0x190 - 0x0000000000000192 __TA1CCR0 = 0x192 - 0x0000000000000194 __TA1CCR1 = 0x194 - 0x0000000000000196 __TA1CCR2 = 0x196 - 0x0000000000000060 __UCA0CTL0 = 0x60 - 0x0000000000000061 __UCA0CTL1 = 0x61 - 0x0000000000000062 __UCA0BR0 = 0x62 - 0x0000000000000063 __UCA0BR1 = 0x63 - 0x0000000000000064 __UCA0MCTL = 0x64 - 0x0000000000000065 __UCA0STAT = 0x65 - 0x0000000000000066 __UCA0RXBUF = 0x66 - 0x0000000000000067 __UCA0TXBUF = 0x67 - 0x000000000000005d __UCA0ABCTL = 0x5d - 0x000000000000005e __UCA0IRTCTL = 0x5e - 0x000000000000005f __UCA0IRRCTL = 0x5f - 0x0000000000000068 __UCB0CTL0 = 0x68 - 0x0000000000000069 __UCB0CTL1 = 0x69 - 0x000000000000006a __UCB0BR0 = 0x6a - 0x000000000000006b __UCB0BR1 = 0x6b - 0x000000000000006c __UCB0I2CIE = 0x6c - 0x000000000000006d __UCB0STAT = 0x6d - 0x000000000000006e __UCB0RXBUF = 0x6e - 0x000000000000006f __UCB0TXBUF = 0x6f - 0x0000000000000118 __UCB0I2COA = 0x118 - 0x000000000000011a __UCB0I2CSA = 0x11a - 0x0000000000000120 __WDTCTL = 0x120 - 0x00000000000010f8 __CALDCO_16MHZ = 0x10f8 - 0x00000000000010f9 __CALBC1_16MHZ = 0x10f9 - 0x00000000000010fa __CALDCO_12MHZ = 0x10fa - 0x00000000000010fb __CALBC1_12MHZ = 0x10fb - 0x00000000000010fc __CALDCO_8MHZ = 0x10fc - 0x00000000000010fd __CALBC1_8MHZ = 0x10fd - 0x00000000000010fe __CALDCO_1MHZ = 0x10fe - 0x00000000000010ff __CALBC1_1MHZ = 0x10ff - -.hash - *(.hash) - -.dynsym - *(.dynsym) - -.dynstr - *(.dynstr) - -.gnu.version - *(.gnu.version) - -.gnu.version_d - *(.gnu.version_d) - -.gnu.version_r - *(.gnu.version_r) - -.rel.init - *(.rel.init) - -.rela.init - *(.rela.init) - -.rel.fini - *(.rel.fini) - -.rela.fini - *(.rela.fini) - -.rel.text - *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) - -.rela.text - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) - -.rel.rodata - *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) - -.rela.rodata - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) - -.rel.data - *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) - -.rela.data - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) - -.rel.bss - *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) - -.rela.bss - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - -.rel.ctors - *(.rel.ctors) - -.rela.ctors - *(.rela.ctors) - -.rel.dtors - *(.rel.dtors) - -.rela.dtors - *(.rela.dtors) - -.rel.got - *(.rel.got) - -.rela.got - *(.rela.got) - -.rel.plt - *(.rel.plt) - -.rela.plt - *(.rela.plt) - -.text 0x000000000000c000 0x7aa - 0x000000000000c000 . = ALIGN (0x2) - *(.init .init.*) - *(.init0) - .init0 0x000000000000c000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - 0x000000000000c000 _reset_vector__ - *(.init1) - .init1 0x000000000000c000 0xc /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - 0x000000000000c000 __watchdog_support - *(.init2) - .init2 0x000000000000c00c 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - 0x000000000000c00c __init_stack - *(.init3) - .init3 0x000000000000c010 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - 0x000000000000c010 __low_level_init - *(.init4) - .init4 0x000000000000c010 0x18 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - 0x000000000000c010 __do_copy_data - .init4 0x000000000000c028 0x16 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - 0x000000000000c028 __do_clear_bss - *(.init5) - *(.init6) - *(.init7) - *(.init8) - *(.init9) - .init9 0x000000000000c03e 0x1c main.obj - 0x000000000000c03e main - *(.fini9) - .fini9 0x000000000000c05a 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - 0x000000000000c05a __stop_progExec__ - *(.fini8) - *(.fini7) - *(.fini6) - *(.fini5) - *(.fini4) - *(.fini3) - *(.fini2) - *(.fini1) - *(.fini0) - .fini0 0x000000000000c05a 0x6 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - 0x000000000000c05a _endless_loop__ - *(.fini .fini.*) - 0x000000000000c060 . = ALIGN (0x2) - 0x000000000000c060 __ctors_start = . - *(.ctors) - 0x000000000000c060 __ctors_end = . - 0x000000000000c060 __dtors_start = . - *(.dtors) - 0x000000000000c060 __dtors_end = . - 0x000000000000c060 . = ALIGN (0x2) - *(.text .text.* .gnu.linkonce.t.*) - .text 0x000000000000c060 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - 0x000000000000c060 __isr_1 - 0x000000000000c060 __isr_4 - 0x000000000000c060 __isr_11 - 0x000000000000c060 __isr_5 - 0x000000000000c060 __isr_2 - 0x000000000000c060 __isr_10 - 0x000000000000c060 __isr_0 - 0x000000000000c060 __isr_8 - 0x000000000000c060 __isr_12 - 0x000000000000c060 __isr_13 - 0x000000000000c060 __isr_6 - 0x000000000000c060 __isr_14 - .text.crt0 0x000000000000c064 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .text 0x000000000000c064 0x216 main.obj - 0x000000000000c064 init - 0x000000000000c0ec __isr_7 - 0x000000000000c118 __isr_3 - 0x000000000000c14a Em_Message_startSend - 0x000000000000c15e Em_Message_lock - 0x000000000000c166 Em_Message_unlock - 0x000000000000c172 led0_toggle - 0x000000000000c178 led1_toggle - 0x000000000000c180 led0_on - 0x000000000000c186 led0_off - 0x000000000000c18e led1_on - 0x000000000000c196 led1_off - 0x000000000000c19e __isr_9 - 0x000000000000c1b4 initTimer - 0x000000000000c1cc stopTimer - 0x000000000000c1d4 DUREX_connectHandler - 0x000000000000c1e2 DUREX_disconnectHandler - 0x000000000000c1f0 DUREX_numBytes_fetch - 0x000000000000c1f8 DUREX_numBytes_store - 0x000000000000c1fe DUREX_data_fetch - 0x000000000000c20c DUREX_data_store - 0x000000000000c21c DUREX_numPackets_fetch - 0x000000000000c224 DUREX_numPackets_store - 0x000000000000c22a DUREX_messageAvailable_fetch - 0x000000000000c232 DUREX_messageAvailable_store - .text 0x000000000000c27a 0x432 DUREX.obj - 0x000000000000c27a Em_Message_addByte - 0x000000000000c2c2 DUREX_reset - 0x000000000000c2f0 DUREX_run - 0x000000000000c2f6 Em_App_startIndSend - 0x000000000000c310 DUREX_pairingOn - 0x000000000000c332 DUREX_pairingOff - 0x000000000000c33c DUREX_disconnect - 0x000000000000c35e DUREX_accept - 0x000000000000c37c Em_App_startResSend - 0x000000000000c396 Em_App_xmitReady - 0x000000000000c3ea Em_App_sendResponse - 0x000000000000c40e Em_App_sysStoreDispatch - 0x000000000000c428 Em_App_sysFetchDispatch - 0x000000000000c4a8 Em_App_fetchDispatch - 0x000000000000c500 Em_App_storeDispatch - 0x000000000000c550 Em_Message_dispatch - 0x000000000000c5ae Em_App_sendIndicator - 0x000000000000c5de Em_Message_getByte - 0x000000000000c694 DUREX_messageAvailable_indicate - .text 0x000000000000c6ac 0xfc /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - 0x000000000000c6ac memcpy - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .text 0x000000000000c7a8 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - .text.crt0 0x000000000000c7a8 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - 0x000000000000c7a8 _unexpected_ - 0x000000000000c7aa . = ALIGN (0x2) - -.rodata 0x000000000000c7aa 0x36 - 0x000000000000c7aa . = ALIGN (0x2) - *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x000000000000c7aa 0x4 main.obj - .rodata 0x000000000000c7ae 0x32 DUREX.obj - 0x000000000000c7c2 Em_App_endian - 0x000000000000c7c4 Em_App_build - 0x000000000000c7cc Em_App_hash - 0x000000000000c7e0 . = ALIGN (0x2) - 0x000000000000c7e0 _etext = . - -.data 0x0000000000000200 0x6 load address 0x000000000000c7e0 - 0x0000000000000200 . = ALIGN (0x2) - 0x0000000000000200 PROVIDE (__data_start, .) - *(.data .data.* .gnu.linkonce.d.*) - .data 0x0000000000000200 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .data 0x0000000000000200 0x1 main.obj - 0x0000000000000200 lastMessageAck - *fill* 0x0000000000000201 0x1 00 - .data 0x0000000000000202 0x4 DUREX.obj - 0x0000000000000202 Em_App_inBuf - 0x0000000000000204 Em_App_readIdle - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .data 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - 0x0000000000000206 . = ALIGN (0x2) - 0x0000000000000206 _edata = . - 0x000000000000c7e0 PROVIDE (__data_load_start, LOADADDR (.data)) - 0x0000000000000006 PROVIDE (__data_size, SIZEOF (.data)) - -.bss 0x0000000000000206 0x1f8 load address 0x000000000000c7e6 - 0x0000000000000206 PROVIDE (__bss_start, .) - *(.bss .bss.*) - .bss 0x0000000000000206 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - .bss 0x0000000000000206 0xec main.obj - 0x0000000000000206 messageAvailable - 0x0000000000000208 numPackets - 0x000000000000020a data - 0x00000000000002f0 numBytes - .bss 0x00000000000002f2 0x4 DUREX.obj - 0x00000000000002f2 Em_App_moreData - 0x00000000000002f4 Em_App_state - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .bss 0x00000000000002f6 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - *(COMMON) - COMMON 0x00000000000002f6 0x107 DUREX.obj - 0x00000000000002f6 Em_App_recvIdx - 0x00000000000002f7 Em_App_xmitSize - 0x00000000000002f8 Em_App_outBuf - 0x00000000000002fa Em_App_ind - 0x0000000000000304 Em_App_xmitMask - 0x0000000000000308 Em_App_msg - 0x00000000000003f4 Em_App_recvSize - 0x00000000000003f6 Em_App_fileIndex - 0x00000000000003fa Em_App_pdHdlr - 0x00000000000003fc Em_App_xmitIdx - 0x00000000000003fe . = ALIGN (0x2) - *fill* 0x00000000000003fd 0x1 00 - 0x00000000000003fe PROVIDE (__bss_end, .) - 0x00000000000001f8 PROVIDE (__bss_size, SIZEOF (.bss)) - -.noinit 0x00000000000003fe 0x2 load address 0x000000000000c7e6 - 0x00000000000003fe PROVIDE (__noinit_start, .) - *(.noinit .noinit.*) - .noinit.crt0 0x00000000000003fe 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - 0x00000000000003fe __wdt_clear_value - 0x0000000000000400 . = ALIGN (0x2) - 0x0000000000000400 PROVIDE (__noinit_end, .) - 0x0000000000000400 . = ALIGN (0x2) - 0x0000000000000400 _end = . - -.infomem 0x0000000000001000 0x0 - *(.infomem) - 0x0000000000001000 . = ALIGN (0x2) - *(.infomem.*) - -.infomemnobits 0x0000000000001000 0x0 - *(.infomemnobits) - 0x0000000000001000 . = ALIGN (0x2) - *(.infomemnobits.*) - -.infoa - *(.infoa .infoa.*) - -.infob - *(.infob .infob.*) - -.infoc - *(.infoc .infoc.*) - -.infod - *(.infod .infod.*) - -.vectors 0x000000000000ffe0 0x20 - 0x000000000000ffe0 PROVIDE (__vectors_start, .) - *(.vectors*) - .vectors 0x000000000000ffe0 0x20 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o - 0x000000000000ffe0 __ivtbl_16 - 0x0000000000010000 _vectors_end = . - -.fartext 0x0000000000000000 0x0 - 0x0000000000000000 . = ALIGN (0x2) - *(.fartext) - 0x0000000000000000 . = ALIGN (0x2) - *(.fartext.*) - 0x0000000000000000 _efartext = . - -.profiler - *(.profiler) - -.stab - *(.stab) - -.stabstr - *(.stabstr) - -.stab.excl - *(.stab.excl) - -.stab.exclstr - *(.stab.exclstr) - -.stab.index - *(.stab.index) - -.stab.indexstr - *(.stab.indexstr) - -.comment - *(.comment) - -.debug - *(.debug) - -.line - *(.line) - -.debug_srcinfo - *(.debug_srcinfo) - -.debug_sfnames - *(.debug_sfnames) - -.debug_aranges 0x0000000000000000 0xb8 - *(.debug_aranges) - .debug_aranges - 0x0000000000000000 0x18 main.obj - .debug_aranges - 0x0000000000000018 0x14 DUREX.obj - .debug_aranges - 0x000000000000002c 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .debug_aranges - 0x0000000000000040 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_aranges - 0x0000000000000054 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_aranges - 0x0000000000000068 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_aranges - 0x000000000000007c 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_aranges - 0x0000000000000090 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_aranges - 0x00000000000000a4 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_pubnames - *(.debug_pubnames) - -.debug_info 0x0000000000000000 0x13e2 - *(.debug_info) - .debug_info 0x0000000000000000 0x81b main.obj - .debug_info 0x000000000000081b 0x75a DUREX.obj - .debug_info 0x0000000000000f75 0x113 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .debug_info 0x0000000000001088 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_info 0x0000000000001117 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_info 0x00000000000011a6 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_info 0x0000000000001235 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_info 0x00000000000012c4 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_info 0x0000000000001353 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - *(.gnu.linkonce.wi.*) - -.debug_abbrev 0x0000000000000000 0x4fd - *(.debug_abbrev) - .debug_abbrev 0x0000000000000000 0x1c0 main.obj - .debug_abbrev 0x00000000000001c0 0x22e DUREX.obj - .debug_abbrev 0x00000000000003ee 0x97 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .debug_abbrev 0x0000000000000485 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_abbrev 0x0000000000000499 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_abbrev 0x00000000000004ad 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_abbrev 0x00000000000004c1 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_abbrev 0x00000000000004d5 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_abbrev 0x00000000000004e9 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_line 0x0000000000000000 0x762 - *(.debug_line) - .debug_line 0x0000000000000000 0x194 main.obj - .debug_line 0x0000000000000194 0x211 DUREX.obj - .debug_line 0x00000000000003a5 0x10e /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - .debug_line 0x00000000000004b3 0x72 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o) - .debug_line 0x0000000000000525 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o) - .debug_line 0x0000000000000595 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o) - .debug_line 0x000000000000060b 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o) - .debug_line 0x0000000000000681 0x71 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o) - .debug_line 0x00000000000006f2 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o) - -.debug_frame 0x0000000000000000 0x2de - *(.debug_frame) - .debug_frame 0x0000000000000000 0x192 main.obj - .debug_frame 0x0000000000000192 0x114 DUREX.obj - .debug_frame 0x00000000000002a6 0x38 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - -.debug_str 0x0000000000000000 0x7cc - *(.debug_str) - .debug_str 0x0000000000000000 0x3c8 main.obj - 0x4c0 (size before relaxing) - .debug_str 0x00000000000003c8 0x38f DUREX.obj - 0x48e (size before relaxing) - .debug_str 0x0000000000000757 0x75 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - 0x100 (size before relaxing) - -.debug_loc 0x0000000000000000 0x59f - *(.debug_loc) - .debug_loc 0x0000000000000000 0x113 main.obj - .debug_loc 0x0000000000000113 0x29c DUREX.obj - .debug_loc 0x00000000000003af 0x1f0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o) - -.debug_macinfo - *(.debug_macinfo) - -.debug_pubtypes - *(.debug_pubtypes) - -.debug_ranges 0x0000000000000000 0xc - *(.debug_ranges) - .debug_ranges 0x0000000000000000 0xc main.obj - 0x0000000000000400 PROVIDE (__stack, (ORIGIN (ram) + 0x200)) - 0x000000000000c7e0 PROVIDE (__data_start_rom, _etext) - 0x000000000000c7e6 PROVIDE (__data_end_rom, (_etext + SIZEOF (.data))) -OUTPUT(main.out elf32-msp430) diff --git a/DUREXLaunchpad/main.obj b/DUREXLaunchpad/main.obj deleted file mode 100644 index 2740279..0000000 Binary files a/DUREXLaunchpad/main.obj and /dev/null differ diff --git a/DUREXLaunchpad/main.out b/DUREXLaunchpad/main.out deleted file mode 100755 index 5a17c25..0000000 Binary files a/DUREXLaunchpad/main.out and /dev/null differ diff --git a/DUREXLaunchpad/makefile b/DUREXLaunchpad/makefile deleted file mode 100644 index fa44f02..0000000 --- a/DUREXLaunchpad/makefile +++ /dev/null @@ -1,8 +0,0 @@ -EMSNAME = DUREX - -COMMON = ../CommonLaunchPad -SCHEMA = ../DUREX - -OBJECTS = main.obj $(EMSNAME).obj - -include $(COMMON)/rules.mk diff --git a/ISG-DUREX/examples-12.1.1.zip b/ISG-DUREX/examples-12.1.1.zip deleted file mode 100644 index a59565d..0000000 Binary files a/ISG-DUREX/examples-12.1.1.zip and /dev/null differ diff --git a/ISG-DUREX/examples.tar.gz b/ISG-DUREX/examples.tar.gz new file mode 100644 index 0000000..2bb8010 Binary files /dev/null and b/ISG-DUREX/examples.tar.gz differ diff --git a/Platform-MSP-EXP430G2/.project b/Platform-MSP-EXP430G2/.project new file mode 100644 index 0000000..3f5a75d --- /dev/null +++ b/Platform-MSP-EXP430G2/.project @@ -0,0 +1,11 @@ + + + Platform-MSP-EXP430G2 + + + + + + + + diff --git a/Platform-MSP-EXP430G2/Hal/Hal.c b/Platform-MSP-EXP430G2/Hal/Hal.c new file mode 100644 index 0000000..d125a99 --- /dev/null +++ b/Platform-MSP-EXP430G2/Hal/Hal.c @@ -0,0 +1,400 @@ +/* + * ============ Hardware Abstraction Layer for MSP-EXP430G2 LaunchPad ============ + */ + +#include "Hal.h" +#include "Em_Message.h" + +#include + + +/* -------- INTERNAL FEATURES -------- */ + +#define LED_CONFIG() (P1DIR |= BIT6) +#define LED_ON() (P1OUT |= BIT6) +#define LED_OFF() (P1OUT &= ~BIT6) +#define LED_READ() (P1OUT & BIT6) +#define LED_TOGGLE() (P1OUT ^= BIT6) + +#define CONNECTED_LED_CONFIG() (P1DIR |= BIT0) +#define CONNECTED_LED_ON() (P1OUT |= BIT0) +#define CONNECTED_LED_OFF() (P1OUT &= ~BIT0) + +#define BUTTON_CONFIG() (P1DIR &= ~BIT3, P1REN |= BIT3, P1OUT |= BIT3, P1IES |= BIT3); +#define BUTTON_ENABLE() (P1IFG &= ~BIT3, P1IE |= BIT3) +#define BUTTON_PRESSED() (!(P1IN & BIT3)) +#define BUTTON_DEBOUNCE_MSECS 100 + +#define DEBUG1_CONFIG() (P2DIR |= BIT3) +#define DEBUG1_ON() (P2OUT |= BIT3) +#define DEBUG1_OFF() (P2OUT &= ~BIT3) + +#define DEBUG2_CONFIG() (P2DIR |= BIT4) +#define DEBUG2_ON() (P2OUT |= BIT4) +#define DEBUG2_OFF() (P2OUT &= ~BIT4) + +#define EAP_RX_BUF UCA0RXBUF +#define EAP_TX_BUF UCA0TXBUF + +#define EAP_RX_VECTOR USCIAB0RX_VECTOR +#define EAP_TX_VECTOR USCIAB0TX_VECTOR +#define EAP_TX_ACK_VECTOR PORT2_VECTOR + +#define EAP_RX_ENABLE() (P1SEL |= BIT1, P1SEL2 |= BIT1) +#define EAP_RX_DISABLE() (P1SEL &= ~BIT1, P1SEL2 &= ~BIT1) +#define EAP_TX_ENABLE() (P1SEL |= BIT2, P1SEL2 |= BIT2) +#define EAP_TX_DISABLE() (P1SEL &= ~BIT2, P1SEL2 &= ~BIT2) + +#define EAP_RX_ACK_CONFIG() (P2DIR |= BIT0) +#define EAP_RX_ACK_SET() (P2OUT |= BIT0) +#define EAP_RX_ACK_CLR() (P2OUT &= ~BIT0) + +#define EAP_TX_ACK_CONFIG() (P2DIR &= ~BIT1, P2IES |= BIT1, P2IFG &= ~BIT1, P2IE |= BIT1) +#define EAP_TX_ACK_TST() (P2IFG & BIT1) +#define EAP_TX_ACK_CLR() (P2IFG &= ~BIT1) + +#define EAP_RX_INT_CLR() (IFG2 &= ~UCA0RXIFG) +#define EAP_RX_INT_ENABLE() (IE2 |= UCA0RXIE) +#define EAP_TX_INT_CLR() (IFG2 &= ~UCA0TXIFG) +#define EAP_TX_INT_DISABLE() (IE2 &= ~UCA0TXIE) +#define EAP_TX_INT_ENABLE() (IE2 |= UCA0TXIE) + +#define MCLK_TICKS_PER_MS 1000L +#define ACLK_TICKS_PER_SECOND 12000L +#define UART_WATCHDOG_PERIOD (ACLK_TICKS_PER_SECOND * 250) / 1000 + +#define UART_WATCH_DISABLE() (TA1CCTL1 = 0) // Turn off CCR1 Interrupt +#define UART_WATCH_ENABLE() (TA1CCR1 = TA1R + UART_WATCHDOG_PERIOD, TA1CCTL1 = CCIE) // Set CCR1, and Enable CCR1 Interrupt + +#ifdef __GNUC__ +#define DINT() (__disable_interrupt()) +#define EINT() (__enable_interrupt()) +#define INTERRUPT +#define SLEEP() (_BIS_SR(LPM3_bits + GIE)) +#define WAKEUP() (_BIC_SR_IRQ(LPM3_bits)) +#endif + +#ifdef __TI_COMPILER_VERSION__ +#define DINT() (_disable_interrupt()) +#define EINT() (_enable_interrupt()) +#define INTERRUPT interrupt +#define SLEEP() (__bis_SR_register(LPM3_bits + GIE)) +#define WAKEUP() (__bic_SR_register_on_exit(LPM3_bits)) +#endif + +#define NUM_HANDLERS 3 + +#define BUTTON_HANDLER_ID 0 +#define TICK_HANDLER_ID 1 +#define DISPATCH_HANDLER_ID 2 + +static void buttonHandler(void); +static void postEvent(uint8_t handlerId); + +static Hal_Handler appButtonHandler; +static volatile uint16_t handlerEvents = 0; +static uint16_t clockTick = 0; +static Hal_Handler handlerTab[NUM_HANDLERS]; + + +/* -------- APP-HAL INTERFACE -------- */ + +void Hal_buttonEnable(Hal_Handler handler) { + handlerTab[BUTTON_HANDLER_ID] = buttonHandler; + appButtonHandler = handler; + BUTTON_CONFIG(); + Hal_delay(100); + BUTTON_ENABLE(); +} + +void Hal_connected(void) { + CONNECTED_LED_ON(); +} + +void Hal_debugOn(uint8_t line) { + switch (line) { + case 1: + DEBUG1_ON(); + break; + case 2: + DEBUG2_ON(); + } +} + +void Hal_debugOff(uint8_t line) { + switch (line) { + case 1: + DEBUG1_OFF(); + break; + case 2: + DEBUG2_OFF(); + } +} + +void Hal_debugPulse(uint8_t line) { + switch (line) { + case 1: + DEBUG1_ON(); + DEBUG1_OFF(); + break; + case 2: + DEBUG2_ON(); + DEBUG2_OFF(); + } +} + +void Hal_delay(uint16_t msecs) { + while (msecs--) { + __delay_cycles(MCLK_TICKS_PER_MS); + } +} + +void Hal_disconnected(void) { + CONNECTED_LED_OFF(); +} + +void Hal_init(void) { + + /* setup clocks */ + + WDTCTL = WDTPW + WDTHOLD; + BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0; + if (CALBC1_1MHZ != 0xFF) { + DCOCTL = 0x00; + BCSCTL1 = CALBC1_1MHZ; /* Set DCO to 1MHz */ + DCOCTL = CALDCO_1MHZ; + } + BCSCTL1 |= XT2OFF + DIVA_0; + BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1; + + /* setup LEDs */ + + LED_CONFIG(); + LED_OFF(); + CONNECTED_LED_CONFIG(); + CONNECTED_LED_OFF(); + + /* setup debug pins */ + + DEBUG1_CONFIG(); DEBUG1_OFF(); + DEBUG2_CONFIG(); DEBUG2_OFF(); + + DEBUG1_ON(); DEBUG1_OFF(); + + /* setup TimerA1 */ + TA1CTL = TASSEL_1 + MC_2; // ACLK, Continuous mode + UART_WATCH_ENABLE(); + + /* setup UART */ + + UCA0CTL1 |= UCSWRST; + + EAP_RX_ENABLE(); + EAP_TX_ENABLE(); + + EAP_RX_ACK_CONFIG(); + EAP_RX_ACK_SET(); + + EAP_TX_ACK_CONFIG(); + + // suspend the MCM + EAP_RX_ACK_CLR(); + + UCA0CTL1 = UCSSEL_2 + UCSWRST; + UCA0MCTL = UCBRF_0 + UCBRS_6; + UCA0BR0 = 8; + UCA0CTL1 &= ~UCSWRST; + + handlerTab[DISPATCH_HANDLER_ID] = Em_Message_dispatch; +} + +void Hal_idleLoop(void) { + + EINT(); + for (;;) { + + // atomically read/clear all handlerEvents + DINT(); + uint16_t events = handlerEvents; + handlerEvents = 0; + + if (events) { // dispatch all current events + EINT(); + uint16_t mask; + uint8_t id; + for (id = 0, mask = 0x1; id < NUM_HANDLERS; id++, mask <<= 1) { + if ((events & mask) && handlerTab[id]) { + handlerTab[id](); + } + } + } + else { // await more events + SLEEP(); + } + } +} + +void Hal_ledOn(void) { + LED_ON(); +} + +void Hal_ledOff(void) { + LED_OFF(); +} + +bool Hal_ledRead(void) { + return LED_READ(); +} + +void Hal_ledToggle(void) { + LED_TOGGLE(); +} + +void Hal_tickStart(uint16_t msecs, Hal_Handler handler) { + handlerTab[TICK_HANDLER_ID] = handler; + clockTick = (ACLK_TICKS_PER_SECOND * msecs) / 1000; + TA1CCR0 = TA1R + clockTick; // Set the CCR0 interrupt for msecs from now. + TA1CCTL0 = CCIE; // Enable the CCR0 interrupt +} + + +/* -------- SRT-HAL INTERFACE -------- */ + +uint8_t Em_Hal_lock(void) { + #ifdef __GNUC__ + uint8_t key = READ_SR & 0x8; + __disable_interrupt(); + return key; + #endif + #ifdef __TI_COMPILER_VERSION__ + uint8_t key = _get_interrupt_state(); + _disable_interrupt(); + return key; + #endif +} + +void Em_Hal_reset(void) { + uint8_t key = Em_Hal_lock(); + EAP_RX_ACK_CLR(); // suspend the MCM + Hal_delay(100); + EAP_RX_ACK_SET(); // reset the MCM + Hal_delay(500); + EAP_RX_INT_CLR(); + EAP_TX_INT_CLR(); + EAP_TX_ACK_CLR(); + EAP_RX_INT_ENABLE(); + Em_Hal_unlock(key); +} + +void Em_Hal_startSend() { + EAP_TX_BUF = Em_Message_startTx(); +} + +void Em_Hal_unlock(uint8_t key) { + #ifdef __GNUC__ + __asm__("bis %0,r2" : : "ir" ((uint16_t) key)); + #endif + #ifdef __TI_COMPILER_VERSION__ + _set_interrupt_state(key); + #endif +} + +void Em_Hal_watchOff(void) { + UART_WATCH_DISABLE(); +} + +void Em_Hal_watchOn(void) { + UART_WATCH_ENABLE(); +} + + +/* -------- INTERNAL FUNCTIONS -------- */ + +static void buttonHandler(void) { + Hal_delay(100); + if (BUTTON_PRESSED() && appButtonHandler) { + appButtonHandler(); + } +} + +static void postEvent(uint8_t handlerId) { + uint8_t key = Em_Hal_lock(); + handlerEvents |= 1 << handlerId; + Em_Hal_unlock(key); +} + +/* -------- INTERRUPT SERVICE ROUTINES -------- */ + +#ifdef __GNUC__ + __attribute__((interrupt(PORT1_VECTOR))) +#endif +#ifdef __TI_COMPILER_VERSION__ + #pragma vector=PORT1_VECTOR +#endif +INTERRUPT void buttonIsr(void) { + postEvent(BUTTON_HANDLER_ID); + BUTTON_ENABLE(); + WAKEUP(); +} + +#ifdef __GNUC__ + __attribute__((interrupt(EAP_RX_VECTOR))) +#endif +#ifdef __TI_COMPILER_VERSION__ + #pragma vector=EAP_RX_VECTOR +#endif +INTERRUPT void rxIsr(void) { + uint8_t b = EAP_RX_BUF; + Em_Message_startRx(); + EAP_RX_ACK_CLR(); + EAP_RX_ACK_SET(); + if (Em_Message_addByte(b)) { + postEvent(DISPATCH_HANDLER_ID); + } + WAKEUP(); +} + +#ifdef __GNUC__ + __attribute__((interrupt(TIMER1_A0_VECTOR))) +#endif +#ifdef __TI_COMPILER_VERSION__ + #pragma vector=TIMER1_A0_VECTOR +#endif +INTERRUPT void timerIsr(void) { + TA1CCR0 += clockTick; + postEvent(TICK_HANDLER_ID); + WAKEUP(); +} + +#ifdef __GNUC__ + __attribute__((interrupt(EAP_TX_ACK_VECTOR))) +#endif +#ifdef __TI_COMPILER_VERSION__ + #pragma vector=EAP_TX_ACK_VECTOR +#endif +INTERRUPT void txAckIsr(void) { + if (EAP_TX_ACK_TST()) { + uint8_t b; + if (Em_Message_getByte(&b)) { + EAP_TX_BUF = b; + } + EAP_TX_ACK_CLR(); + } + WAKEUP(); +} + +#ifdef __GNUC__ + __attribute__((interrupt(TIMER1_A1_VECTOR))) +#endif +#ifdef __TI_COMPILER_VERSION__ + #pragma vector=TIMER1_A1_VECTOR +#endif +INTERRUPT void uartWatchdogIsr(void) { + switch (TA1IV) { + case 2: // CCR1 + UART_WATCH_DISABLE(); + Em_Message_restart(); + WAKEUP(); + break; + } +} diff --git a/Platform-MSP-EXP430G2/Hal/Hal.h b/Platform-MSP-EXP430G2/Hal/Hal.h new file mode 100644 index 0000000..f166774 --- /dev/null +++ b/Platform-MSP-EXP430G2/Hal/Hal.h @@ -0,0 +1,305 @@ +/** + * Hal.h -- HAL Interface Definitions + * + * This example HAL is intentionally simple. The implementation is limited to: + * + * BUTTON -- a single button that when pressed will cause an interrupt. + * CONNECTED_LED -- an LED that is controlled inside the HAL to indicate connection to a central. + * DEBUG -- two debug GPIOs that are available as outputs from the EAP and under user control. + * DELAY -- a delay routine that can delay by n milliseconds. + * INIT -- set the hardware up to its initial state + * LED -- a user LED that is available for application control. + * TICK -- a timer that can be set to interrupt every n milliseconds + * IDLE LOOP -- an event driven idle loop for controlling the EAP + * + * For information on Hal implementations for specific target hardware platforms, + * visit the http://wiki.em-hub.com/display/ED. + * + **/ + +#ifndef Hal__H +#define Hal__H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void (*Hal_Handler)(void); + +/** + * --------- Hal_buttonEnable --------- + * + * Enable the button interrupt and connect it to the user's buttonHandler + * + * When the button is pressed, it will cause an interrupt that will cause BUTTON event + * to be entered into the event list. Once dispatched by the idle loop, the user's + * buttonHandler will be called. + * + * Inputs: + * buttonHandler - pointer to the user's handler to be called after interrupt + * + * Returns: + * None + * + * Side effects: + * BUTTON interrupt enabled + * + **/ +extern void Hal_buttonEnable(Hal_Handler handler); +/** + * --------- Hal_connected --------- + * + * Called whenever the MCM peripheral connects to a central. + * + * Turns on the CONNECTED_LED to show connectivity to the central + * Could do other things associated with connection to the central. + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * CONNECTED_LED on. + * + **/ +extern void Hal_connected(void); +/** + * --------- Hal_debugOff --------- + * + * Turns the selected DEBUG line off. + * + * The two DEBUG lines are output GPIOs that are available to the user for + * debug purposes. + * + * Inputs: + * line - the index value of the debug line to turn off + * + * Returns: + * None + * + * Side Effects: + * DEBUG line off. + * + **/ +extern void Hal_debugOff(uint8_t line); +/** + * --------- Hal_debugOn --------- + * + * Turns the selected DEBUG line on. + * + * The two DEBUG lines are output GPIOs that are available to the user for + * debug purposes. + * + * Inputs: + * line - the index value of the debug line to turn on + * + * Returns: + * None + * + * Side Effects: + * DEBUG line on. + * + **/ +extern void Hal_debugOn(uint8_t line); +/** + * --------- Hal_debugPulse --------- + * + * Emits a pulse on the selected DEBUG line. + * + * The two DEBUG lines are output GPIOs that are available to the user for + * debug purposes. + * + * Inputs: + * line - the index value of the debug line to emit a pulse + * + * Returns: + * None + * + * Side Effects: + * DEBUG line turns on then off. + * + **/ +extern void Hal_debugPulse(uint8_t line); +/** + * --------- Hal_delay --------- + * + * Delays for the specified number of milliseconds. + * + * In this example, delay is done with CPU spinning for simplicity's sake. + * This could easily use a timer interrupt for more power savings. + * + * Inputs: + * msecs - the number of milliseconds to delay + * + * Returns: + * None + * + * Side Effects: + * None + * + **/ +extern void Hal_delay(uint16_t msecs); +/** + * --------- Hal_disconnected --------- + * + * Called whenever the MCM peripheral disconnects from a central. + * + * Turns off the CONNECTED_LED to show lack of connectivity to the central + * Could do other things associated with connection to the central. + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * CONNECTED_LED off. + * + **/ +extern void Hal_disconnected(void); +/** + * --------- Hal_idleLoop --------- + * + * The idle loop that controls EAP operations. + * + * The hal implements an event driven "idle loop" scheduler. + * When there are no events pending, the idle loop sleeps. + * When an event happens, the idle loop wakes up, and dispatches + * to the appropriate event handler. + * + * The dispatching is done through a handlerTab that has one entry for each type of event. + * Each handlerTab entry should be a handler of type hal_handler *. + * There are currently three types of events, i.e. entries in the handlerTab: + * BUTTON_HANDLER_ID: handler to call upon a button press + * TICK_HANDLER_ID: handler to call upon a timer interrupt + * DISPATCH_HANDLER_ID: handler to call upon a received message from the MCM + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * dispatches events as they come in + * + **/ +extern void Hal_idleLoop(void); +/** + * --------- Hal_init --------- + * + * Initialize the hardware + * + * Initializes the EAP and MCM into their reset state. Should be called first. + * Sets up the clock, ports, watchdog timer, etc. + * + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * EAP and MCM in their initial state. + * + **/ +extern void Hal_init(void); +/** + * --------- Hal_ledOff --------- + * + * Turns the user LED off. + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * User LED off. + * + **/ +extern void Hal_ledOff(void); +/** + * --------- Hal_ledOn --------- + * + * Turns the user LED on. + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * User LED on. + * + **/ +extern void Hal_ledOn(void); +/** + * --------- Hal_ledRead --------- + * + * Returns the user LED state. + * + * Inputs: + * None + * + * Returns: + * Bool - (true = user LED is on, false = user LED is off) + * + * Side Effects: + * None + * + **/ +extern bool Hal_ledRead(void); +/** + * --------- Hal_ledToggle --------- + * + * Toggles the user LED. + * + * Inputs: + * None + * + * Returns: + * None + * + * Side Effects: + * User LED toggles state. + * + **/ +extern void Hal_ledToggle(void); +/** + * --------- Hal_tickStart --------- + * + * Sets up the timer to interrupt every msecs milliseconds and the user's tickHandler + * that will be called upon interrupt. + * + * Enable a timer interrupt every msecs ms. The interrupt will cause a TICK event + * to be entered into the event list. Once dispatched by the idle loop, the user's + * tickHandler will be called. + * + * Inputs: + * msecs - the number of milliseconds between tick interrupts + * tickHandler - the address of the user's tick handler that will be called + * + * Returns: + * None + * + * Side Effects: + * tickhandler called by the idle loop + * + **/ +extern void Hal_tickStart(uint16_t msecs, Hal_Handler Handler); + +#ifdef __cplusplus +} +#endif + +#endif /* Hal__H */ diff --git a/Platform-MSP-EXP430G2/common.mk b/Platform-MSP-EXP430G2/common.mk new file mode 100644 index 0000000..e1c3331 --- /dev/null +++ b/Platform-MSP-EXP430G2/common.mk @@ -0,0 +1,80 @@ +OUTDIR = Output +EMMOCO-ROOT = /Applications/Development/Em-Builder-IDE/eclipse/emmoco +EMBUILDER ?= +SCHEMAFILE = $(APPNAME).ems +MAIN = $(APPNAME)-Prog +BINFILE = $(OUTDIR)/$(MAIN).bin +HEXFILE = $(OUTDIR)/$(MAIN).hex +OUTFILE = $(OUTDIR)/$(MAIN).out +OBJECTS = $(OUTDIR)/$(MAIN).obj $(OUTDIR)/$(APPNAME).obj $(OUTDIR)/Hal.obj + +CC = $(TOOLS)/$(GCCARCH)-gcc +LD = $(TOOLS)/$(GCCARCH)-ld +OBJCOPY = $(TOOLS)/$(GCCARCH)-objcopy +SIZE = $(TOOLS)/$(GCCARCH)-size + +CFLAGS = -std=gnu99 -O2 -w -ffunction-sections -fdata-sections -fpack-struct=1 -fno-strict-aliasing -fomit-frame-pointer -c -g -I$(PLATFORM)/Hal -IEm $(COPTS) + +load: out-check + $(EXEC) + +build: $(OUTDIR) out-remove $(OUTFILE) + +$(OUTDIR): +ifeq (,$(findstring Windows,$(OS))) + mkdir $(OUTDIR) +else + cmd /c mkdir $(OUTDIR) +endif + +$(OUTDIR)/$(MAIN).obj: $(MAIN).c Em/$(APPNAME).c + $(CC) $< -o $@ $(CFLAGS) + +$(OUTDIR)/$(APPNAME).obj: Em/$(APPNAME).c + $(CC) $< -o $@ $(CFLAGS) + +$(OUTDIR)/Hal.obj: $(PLATFORM)/Hal/Hal.c + $(CC) $< -o $@ $(CFLAGS) + +Em/$(APPNAME).c: $(SCHEMAFILE) +ifneq (,$(EMBUILDER)) + $(EMBUILDER) -v --root=$(&2 + @exit 1 +endif + +local-clean: +ifeq (,$(findstring Windows,$(OS))) + rm -rf $(OUTDIR) +else +ifneq (,$(wildcard $(OUTDIR))) + cmd /c rmdir /q /s $(subst /,\,$(OUTDIR)) +endif +endif + +clean: local-clean +ifeq (,$(findstring Windows,$(OS))) + rm -rf $(EM) +else +ifneq (,$(wildcard Em)) + cmd /c rmdir /q /s $(subst /,\,Em) +endif +endif + +out-check: +ifeq (,$(wildcard $(OUTFILE))) + @echo error: $(OUTFILE): No such file or directory 1>&2 + @exit 1 +endif + +out-remove: +ifeq (,$(findstring Windows,$(OS))) + rm -f $(OUTFILE) +else +ifneq (,$(wildcard $(OUTFILE))) + cmd /c del /q $(subst /,\,$(OUTFILE)) +endif +endif + +.PHONY: all load clean local-clean out-check diff --git a/Platform-MSP-EXP430G2/rules.mk b/Platform-MSP-EXP430G2/rules.mk new file mode 100644 index 0000000..2eb8f99 --- /dev/null +++ b/Platform-MSP-EXP430G2/rules.mk @@ -0,0 +1,22 @@ +include $(PLATFORM)/common.mk + +TOOLS ?= $(EMMOCO-ROOT)/msptools/bin +GCCARCH = msp430 +MCU = msp430g2553 + +COPTS = -mmcu=$(MCU) +LDOPTS = -mmcu=$(MCU) -Wl,-Map=$(OUTDIR)/$(MAIN).map,--gc-sections + +ifeq (,$(findstring Windows,$(OS))) +EXEC = $(EMMOCO-ROOT)/msptools/bin/mspdebug rf2500 "prog $(OUTFILE)" 2>&1 +else +EXEC = $(EMMOCO-ROOT)/msptools/bin/MSP430Flasher -i USB -m AUTO -e ERASE_MAIN -n $(MCU) -w $(HEXFILE) -v -z [VCC] -g -s -q +endif + +$(OUTFILE): $(OBJECTS) + $(CC) -o $(OUTFILE) $^ $(LDOPTS) + $(OBJCOPY) -O ihex $(OUTFILE) $(HEXFILE) + $(SIZE) $(OUTFILE) + + + -- libgit2 0.22.2