Commit fde014118c4541d78c200e39ceec0f6c3b1803f4

Authored by Imanol-Mikel Barba Sabariego
1 parent f0c0dcaa

--no commit message

Showing 71 changed files with 821 additions and 6053 deletions

Too many changes to show.

To preserve performance only 49 of 71 files are displayed.

BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Builder.launch deleted
1   -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2   -<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
3   -<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
4   -<mapAttribute key="org.eclipse.debug.core.environmentVariables">
5   -<mapEntry key="PATH" value="${eclipse_home}/msptools/bin${system_property:path.separator}${env_var:PATH}"/>
6   -</mapAttribute>
7   -<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
8   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;resources&gt;&lt;item path=&quot;/BlinkerLaunchPad/main.c&quot; type=&quot;1&quot;/&gt;&lt;item path=&quot;/BlinkerLaunchPad/main.out&quot; type=&quot;1&quot;/&gt;&lt;item path=&quot;/BlinkerLaunchPad/makefile&quot; type=&quot;1&quot;/&gt;&lt;item path=&quot;/BlinkerSchema/out/Blinker.h&quot; type=&quot;1&quot;/&gt;&lt;item path=&quot;/BlinkerSchema/schema.ems&quot; type=&quot;1&quot;/&gt;&lt;item path=&quot;/CommonLaunchPad&quot; type=&quot;4&quot;/&gt;&lt;/resources&gt;}"/>
9   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}/msptools/bin/gmake${exe_ext}"/>
10   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
11   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="all COMMON=${project_loc:/CommonLaunchPad} SCHEMA=${project_loc:/BlinkerSchema}"/>
12   -<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
13   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/>
14   -</launchConfiguration>
BlinkerLaunchPad/.externalToolBuilders/Blinker LaunchPad Cleaner.launch deleted
1   -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2   -<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
3   -<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
4   -<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
5   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}/msptools/bin/gmake${exe_ext}"/>
6   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="clean"/>
7   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="local-clean COMMON=${project_loc:/CommonLaunchPad}"/>
8   -<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
9   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/>
10   -</launchConfiguration>
BlinkerLaunchPad/.project deleted
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<projectDescription>
3   - <name>BlinkerLaunchPad</name>
4   - <comment></comment>
5   - <projects>
6   - <project>BlinkerSchema</project>
7   - </projects>
8   - <buildSpec>
9   - <buildCommand>
10   - <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
11   - <triggers>full,incremental,</triggers>
12   - <arguments>
13   - <dictionary>
14   - <key>LaunchConfigHandle</key>
15   - <value>&lt;project&gt;/.externalToolBuilders/Blinker LaunchPad Builder.launch</value>
16   - </dictionary>
17   - </arguments>
18   - </buildCommand>
19   - <buildCommand>
20   - <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
21   - <triggers>clean,</triggers>
22   - <arguments>
23   - <dictionary>
24   - <key>LaunchConfigHandle</key>
25   - <value>&lt;project&gt;/.externalToolBuilders/Blinker LaunchPad Cleaner.launch</value>
26   - </dictionary>
27   - </arguments>
28   - </buildCommand>
29   - </buildSpec>
30   - <natures>
31   - <nature>com.emmoco.mcmtooling.example.mcmToolingExampleNature</nature>
32   - </natures>
33   -</projectDescription>
BlinkerLaunchPad/Blinker.obj deleted
No preview for this file type
BlinkerLaunchPad/Log/log.txt deleted
BlinkerLaunchPad/main.c deleted
1   -/*
2   - * ============ Platform Configuration ============
3   - */
4   -
5   -#include <msp430.h>
6   -
7   -#define LED_ON() (P1OUT |= BIT6)
8   -#define LED_OFF() (P1OUT &= ~BIT6)
9   -#define LED_READ() (P1OUT & BIT6)
10   -#define LED_TOGGLE() (P1OUT ^= BIT6)
11   -
12   -#define CONNECTED_LED_ON() (P1OUT |= BIT0)
13   -#define CONNECTED_LED_OFF() (P1OUT &= ~BIT0)
14   -
15   -#define EAP_RX_BUF UCA0RXBUF
16   -#define EAP_TX_BUF UCA0TXBUF
17   -
18   -#define EAP_RX_VECTOR USCIAB0RX_VECTOR
19   -#define EAP_TX_VECTOR PORT2_VECTOR
20   -
21   -#define EAP_RX_ACK_CONFIG() (P2DIR |= BIT0)
22   -#define EAP_RX_ACK_SET() (P2OUT |= BIT0)
23   -#define EAP_RX_ACK_CLR() (P2OUT &= ~BIT0)
24   -
25   -#define EAP_TX_INT_CONFIG() (P2DIR &= ~BIT1, P2IES |= BIT1, P2IFG &= BIT1, P2IE |= BIT1)
26   -#define EAP_TX_INT_TST() (P2IFG & BIT1)
27   -#define EAP_TX_INT_CLR() (P2IFG &= ~BIT1)
28   -
29   -void init(void) {
30   -
31   - WDTCTL = WDTPW + WDTHOLD;
32   - BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
33   - if (CALBC1_1MHZ != 0xFF) {
34   - DCOCTL = 0x00;
35   - BCSCTL1 = CALBC1_1MHZ; /* Set DCO to 1MHz */
36   - DCOCTL = CALDCO_1MHZ;
37   - }
38   - BCSCTL1 |= XT2OFF + DIVA_0;
39   - BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1;
40   -
41   - P1DIR |= BIT0; /* LED */
42   - LED_OFF();
43   - P1DIR |= BIT6; /* CONNECTED_LED */
44   - CONNECTED_LED_OFF();
45   -
46   - UCA0CTL1 |= UCSWRST;
47   -
48   - P1SEL |= BIT1 + BIT2;
49   - P1SEL2 |= BIT1 + BIT2;
50   -
51   - EAP_RX_ACK_CONFIG();
52   - EAP_RX_ACK_SET();
53   -
54   - EAP_TX_INT_CONFIG();
55   -
56   - UCA0CTL1 = UCSSEL_2 + UCSWRST;
57   - UCA0MCTL = UCBRF_0 + UCBRS_6;
58   - UCA0BR0 = 8;
59   - UCA0CTL1 &= ~UCSWRST;
60   -
61   - IFG2 &= ~(UCA0RXIFG);
62   - IE2 |= UCA0RXIE;
63   -
64   - TA1CCTL0 = CM_0 + CCIS_0 + OUTMOD_0 + CCIE;
65   - TA1CCR0 = 1200;
66   - TA1CTL = TASSEL_1 + ID_0 + MC_1;
67   -
68   - __enable_interrupt();
69   -}
70   -
71   -/*
72   - * ============ Serial Driver ============
73   - */
74   -
75   -#include <Em_Message.h>
76   -
77   -__attribute__((interrupt(EAP_RX_VECTOR)))
78   -static void rxHandler(void) {
79   - uint8_t b = EAP_RX_BUF;
80   - if (Em_Message_addByte(b)) {
81   - Em_Message_dispatch();
82   - }
83   - EAP_RX_ACK_CLR();
84   - EAP_RX_ACK_SET();
85   -}
86   -
87   -__attribute__((interrupt(EAP_TX_VECTOR)))
88   -static void txHandler(void) {
89   - if (EAP_TX_INT_TST()) {
90   - uint8_t b;
91   - if (Em_Message_getByte(&b)) {
92   - EAP_TX_BUF = b;
93   - }
94   - EAP_TX_INT_CLR();
95   - }
96   -}
97   -
98   -void Em_Message_startSend() {
99   - uint8_t b;
100   - if (Em_Message_getByte(&b)) {
101   - UCA0TXBUF = b;
102   - }
103   -}
104   -
105   -uint8_t Em_Message_lock() {
106   - uint8_t key;
107   - asm ("MOV r2, %0": "=r" (key));
108   - key &= 0x8;
109   - asm ("DINT");
110   - return key;
111   -}
112   -
113   -void Em_Message_unlock(uint8_t key) {
114   - if (key) {
115   - asm ("EINT");
116   - }
117   - else {
118   - asm ("DINT");
119   - }
120   -}
121   -
122   -/*
123   - * ============ Application Program ============
124   - */
125   -
126   -#include <Blinker.h>
127   -
128   -#define COUNT_DEFAULT 5
129   -
130   -volatile Blinker_cmd_t cmdRes = Blinker_STOP_CMD;
131   -volatile Blinker_count_t countRes = COUNT_DEFAULT;
132   -volatile Blinker_delay_t delayRes = Blinker_delay_min;
133   -
134   -volatile Blinker_count_t curCount;
135   -volatile Blinker_delay_t curTime;
136   -
137   -__attribute__((interrupt(TIMER1_A0_VECTOR)))
138   -void tickHandler(void) {
139   - if (cmdRes == Blinker_STOP_CMD) {
140   - return;
141   - }
142   - if (curTime < delayRes) {
143   - curTime += Blinker_delay_step;
144   - return;
145   - }
146   - else {
147   - curTime = 0;
148   - }
149   - if (curCount-- > 0) {
150   - LED_TOGGLE();
151   - }
152   - else {
153   - cmdRes = Blinker_STOP_CMD;
154   - LED_OFF();
155   - }
156   - Blinker_ledState_indicate();
157   -}
158   -
159   -int main(int argc, char *argv[]) {
160   - volatile int dummy = 0;
161   - init();
162   - Blinker_run();
163   - while (dummy == 0) {
164   - /* idle */
165   - }
166   - return 0;
167   -}
168   -
169   -void Blinker_connectHandler(void) {
170   - CONNECTED_LED_ON();
171   -}
172   -
173   -void Blinker_disconnectHandler(void) {
174   - CONNECTED_LED_OFF();
175   -}
176   -
177   -void Blinker_cmd_store(Blinker_cmd_t* input) {
178   - cmdRes = *input;
179   - switch (cmdRes) {
180   - case Blinker_START_CMD:
181   - curCount = countRes * 2;
182   - curTime = 0;
183   - break;
184   - case Blinker_STOP_CMD:
185   - LED_OFF();
186   - break;
187   - }
188   -}
189   -
190   -void Blinker_count_fetch(Blinker_count_t* output) {
191   - *output = countRes;
192   -}
193   -
194   -void Blinker_count_store(Blinker_count_t* input) {
195   - countRes = *input;
196   -}
197   -
198   -void Blinker_delay_fetch(Blinker_delay_t* output) {
199   - *output = delayRes;
200   -}
201   -
202   -void Blinker_delay_store(Blinker_delay_t* input) {
203   - delayRes = *input;
204   -}
205   -
206   -void Blinker_ledState_fetch(Blinker_ledState_t* output) {
207   - *output = LED_READ() ? Blinker_LED_ON : Blinker_LED_OFF;
208   -}
BlinkerLaunchPad/main.map deleted
1   -Archive member included because of file (symbol)
2   -
3   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
4   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_reset_vector__)
5   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
6   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__watchdog_support)
7   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
8   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__init_stack)
9   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
10   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__low_level_init)
11   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
12   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_copy_data)
13   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
14   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_clear_bss)
15   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
16   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__stop_progExec__)
17   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
18   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (_endless_loop__)
19   -/Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
20   - /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_unexpected_)
21   -
22   -Allocating common symbols
23   -Common symbol size file
24   -
25   -Em_App_recvIdx 0x1 Blinker.obj
26   -Em_App_xmitSize 0x1 Blinker.obj
27   -Em_App_outBuf 0x2 Blinker.obj
28   -curTime 0x2 main.obj
29   -Em_App_ind 0xa Blinker.obj
30   -Em_App_xmitMask 0x4 Blinker.obj
31   -Em_App_msg 0x1a Blinker.obj
32   -Em_App_recvSize 0x1 Blinker.obj
33   -Em_App_fileIndex 0x4 Blinker.obj
34   -Em_App_pdHdlr 0x2 Blinker.obj
35   -Em_App_xmitIdx 0x1 Blinker.obj
36   -curCount 0x2 main.obj
37   -
38   -Memory Configuration
39   -
40   -Name Origin Length Attributes
41   -sfr 0x0000000000000000 0x0000000000000010
42   -peripheral_8bit 0x0000000000000010 0x00000000000000f0
43   -peripheral_16bit 0x0000000000000100 0x0000000000000100
44   -ram 0x0000000000000200 0x0000000000000200 xw
45   -infomem 0x0000000000001000 0x0000000000000100
46   -infod 0x0000000000001000 0x0000000000000040
47   -infoc 0x0000000000001040 0x0000000000000040
48   -infob 0x0000000000001080 0x0000000000000040
49   -infoa 0x00000000000010c0 0x0000000000000040
50   -rom 0x000000000000c000 0x0000000000003fe0 xr
51   -vectors 0x000000000000ffe0 0x0000000000000020
52   -bsl 0x0000000000000000 0x0000000000000000
53   -far_rom 0x0000000000000000 0x0000000000000000
54   -*default* 0x0000000000000000 0xffffffffffffffff
55   -
56   -Linker script and memory map
57   -
58   -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
59   -LOAD main.obj
60   -LOAD Blinker.obj
61   -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
62   -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a
63   -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
64   -LOAD /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a
65   - 0x0000000000000040 PROVIDE (__info_segment_size, 0x40)
66   - 0x0000000000001000 PROVIDE (__infod, 0x1000)
67   - 0x0000000000001040 PROVIDE (__infoc, 0x1040)
68   - 0x0000000000001080 PROVIDE (__infob, 0x1080)
69   - 0x00000000000010c0 PROVIDE (__infoa, 0x10c0)
70   - 0x0000000000000000 __IE1 = 0x0
71   - 0x0000000000000002 __IFG1 = 0x2
72   - 0x0000000000000001 __IE2 = 0x1
73   - 0x0000000000000003 __IFG2 = 0x3
74   - 0x0000000000000048 __ADC10DTC0 = 0x48
75   - 0x0000000000000049 __ADC10DTC1 = 0x49
76   - 0x000000000000004a __ADC10AE0 = 0x4a
77   - 0x00000000000001b0 __ADC10CTL0 = 0x1b0
78   - 0x00000000000001b2 __ADC10CTL1 = 0x1b2
79   - 0x00000000000001b4 __ADC10MEM = 0x1b4
80   - 0x00000000000001bc __ADC10SA = 0x1bc
81   - 0x0000000000000056 __DCOCTL = 0x56
82   - 0x0000000000000057 __BCSCTL1 = 0x57
83   - 0x0000000000000058 __BCSCTL2 = 0x58
84   - 0x0000000000000053 __BCSCTL3 = 0x53
85   - 0x0000000000000059 __CACTL1 = 0x59
86   - 0x000000000000005a __CACTL2 = 0x5a
87   - 0x000000000000005b __CAPD = 0x5b
88   - 0x0000000000000128 __FCTL1 = 0x128
89   - 0x000000000000012a __FCTL2 = 0x12a
90   - 0x000000000000012c __FCTL3 = 0x12c
91   - 0x0000000000000020 __P1IN = 0x20
92   - 0x0000000000000021 __P1OUT = 0x21
93   - 0x0000000000000022 __P1DIR = 0x22
94   - 0x0000000000000023 __P1IFG = 0x23
95   - 0x0000000000000024 __P1IES = 0x24
96   - 0x0000000000000025 __P1IE = 0x25
97   - 0x0000000000000026 __P1SEL = 0x26
98   - 0x0000000000000041 __P1SEL2 = 0x41
99   - 0x0000000000000027 __P1REN = 0x27
100   - 0x0000000000000028 __P2IN = 0x28
101   - 0x0000000000000029 __P2OUT = 0x29
102   - 0x000000000000002a __P2DIR = 0x2a
103   - 0x000000000000002b __P2IFG = 0x2b
104   - 0x000000000000002c __P2IES = 0x2c
105   - 0x000000000000002d __P2IE = 0x2d
106   - 0x000000000000002e __P2SEL = 0x2e
107   - 0x0000000000000042 __P2SEL2 = 0x42
108   - 0x000000000000002f __P2REN = 0x2f
109   - 0x0000000000000018 __P3IN = 0x18
110   - 0x0000000000000019 __P3OUT = 0x19
111   - 0x000000000000001a __P3DIR = 0x1a
112   - 0x000000000000001b __P3SEL = 0x1b
113   - 0x0000000000000043 __P3SEL2 = 0x43
114   - 0x0000000000000010 __P3REN = 0x10
115   - 0x000000000000012e __TA0IV = 0x12e
116   - 0x0000000000000160 __TA0CTL = 0x160
117   - 0x0000000000000162 __TA0CCTL0 = 0x162
118   - 0x0000000000000164 __TA0CCTL1 = 0x164
119   - 0x0000000000000166 __TA0CCTL2 = 0x166
120   - 0x0000000000000170 __TA0R = 0x170
121   - 0x0000000000000172 __TA0CCR0 = 0x172
122   - 0x0000000000000174 __TA0CCR1 = 0x174
123   - 0x0000000000000176 __TA0CCR2 = 0x176
124   - 0x000000000000011e __TA1IV = 0x11e
125   - 0x0000000000000180 __TA1CTL = 0x180
126   - 0x0000000000000182 __TA1CCTL0 = 0x182
127   - 0x0000000000000184 __TA1CCTL1 = 0x184
128   - 0x0000000000000186 __TA1CCTL2 = 0x186
129   - 0x0000000000000190 __TA1R = 0x190
130   - 0x0000000000000192 __TA1CCR0 = 0x192
131   - 0x0000000000000194 __TA1CCR1 = 0x194
132   - 0x0000000000000196 __TA1CCR2 = 0x196
133   - 0x0000000000000060 __UCA0CTL0 = 0x60
134   - 0x0000000000000061 __UCA0CTL1 = 0x61
135   - 0x0000000000000062 __UCA0BR0 = 0x62
136   - 0x0000000000000063 __UCA0BR1 = 0x63
137   - 0x0000000000000064 __UCA0MCTL = 0x64
138   - 0x0000000000000065 __UCA0STAT = 0x65
139   - 0x0000000000000066 __UCA0RXBUF = 0x66
140   - 0x0000000000000067 __UCA0TXBUF = 0x67
141   - 0x000000000000005d __UCA0ABCTL = 0x5d
142   - 0x000000000000005e __UCA0IRTCTL = 0x5e
143   - 0x000000000000005f __UCA0IRRCTL = 0x5f
144   - 0x0000000000000068 __UCB0CTL0 = 0x68
145   - 0x0000000000000069 __UCB0CTL1 = 0x69
146   - 0x000000000000006a __UCB0BR0 = 0x6a
147   - 0x000000000000006b __UCB0BR1 = 0x6b
148   - 0x000000000000006c __UCB0I2CIE = 0x6c
149   - 0x000000000000006d __UCB0STAT = 0x6d
150   - 0x000000000000006e __UCB0RXBUF = 0x6e
151   - 0x000000000000006f __UCB0TXBUF = 0x6f
152   - 0x0000000000000118 __UCB0I2COA = 0x118
153   - 0x000000000000011a __UCB0I2CSA = 0x11a
154   - 0x0000000000000120 __WDTCTL = 0x120
155   - 0x00000000000010f8 __CALDCO_16MHZ = 0x10f8
156   - 0x00000000000010f9 __CALBC1_16MHZ = 0x10f9
157   - 0x00000000000010fa __CALDCO_12MHZ = 0x10fa
158   - 0x00000000000010fb __CALBC1_12MHZ = 0x10fb
159   - 0x00000000000010fc __CALDCO_8MHZ = 0x10fc
160   - 0x00000000000010fd __CALBC1_8MHZ = 0x10fd
161   - 0x00000000000010fe __CALDCO_1MHZ = 0x10fe
162   - 0x00000000000010ff __CALBC1_1MHZ = 0x10ff
163   -
164   -.hash
165   - *(.hash)
166   -
167   -.dynsym
168   - *(.dynsym)
169   -
170   -.dynstr
171   - *(.dynstr)
172   -
173   -.gnu.version
174   - *(.gnu.version)
175   -
176   -.gnu.version_d
177   - *(.gnu.version_d)
178   -
179   -.gnu.version_r
180   - *(.gnu.version_r)
181   -
182   -.rel.init
183   - *(.rel.init)
184   -
185   -.rela.init
186   - *(.rela.init)
187   -
188   -.rel.fini
189   - *(.rel.fini)
190   -
191   -.rela.fini
192   - *(.rela.fini)
193   -
194   -.rel.text
195   - *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
196   -
197   -.rela.text
198   - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
199   -
200   -.rel.rodata
201   - *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
202   -
203   -.rela.rodata
204   - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
205   -
206   -.rel.data
207   - *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
208   -
209   -.rela.data
210   - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
211   -
212   -.rel.bss
213   - *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
214   -
215   -.rela.bss
216   - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
217   -
218   -.rel.ctors
219   - *(.rel.ctors)
220   -
221   -.rela.ctors
222   - *(.rela.ctors)
223   -
224   -.rel.dtors
225   - *(.rel.dtors)
226   -
227   -.rela.dtors
228   - *(.rela.dtors)
229   -
230   -.rel.got
231   - *(.rel.got)
232   -
233   -.rela.got
234   - *(.rela.got)
235   -
236   -.rel.plt
237   - *(.rel.plt)
238   -
239   -.rela.plt
240   - *(.rela.plt)
241   -
242   -.text 0x000000000000c000 0x656
243   - 0x000000000000c000 . = ALIGN (0x2)
244   - *(.init .init.*)
245   - *(.init0)
246   - .init0 0x000000000000c000 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
247   - 0x000000000000c000 _reset_vector__
248   - *(.init1)
249   - .init1 0x000000000000c000 0xc /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
250   - 0x000000000000c000 __watchdog_support
251   - *(.init2)
252   - .init2 0x000000000000c00c 0x4 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
253   - 0x000000000000c00c __init_stack
254   - *(.init3)
255   - .init3 0x000000000000c010 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
256   - 0x000000000000c010 __low_level_init
257   - *(.init4)
258   - .init4 0x000000000000c010 0x18 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
259   - 0x000000000000c010 __do_copy_data
260   - .init4 0x000000000000c028 0x16 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
261   - 0x000000000000c028 __do_clear_bss
262   - *(.init5)
263   - *(.init6)
264   - *(.init7)
265   - *(.init8)
266   - *(.init9)
267   - .init9 0x000000000000c03e 0x18 main.obj
268   - 0x000000000000c03e main
269   - *(.fini9)
270   - .fini9 0x000000000000c056 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
271   - 0x000000000000c056 __stop_progExec__
272   - *(.fini8)
273   - *(.fini7)
274   - *(.fini6)
275   - *(.fini5)
276   - *(.fini4)
277   - *(.fini3)
278   - *(.fini2)
279   - *(.fini1)
280   - *(.fini0)
281   - .fini0 0x000000000000c056 0x6 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
282   - 0x000000000000c056 _endless_loop__
283   - *(.fini .fini.*)
284   - 0x000000000000c05c . = ALIGN (0x2)
285   - 0x000000000000c05c __ctors_start = .
286   - *(.ctors)
287   - 0x000000000000c05c __ctors_end = .
288   - 0x000000000000c05c __dtors_start = .
289   - *(.dtors)
290   - 0x000000000000c05c __dtors_end = .
291   - 0x000000000000c05c . = ALIGN (0x2)
292   - *(.text .text.* .gnu.linkonce.t.*)
293   - .text 0x000000000000c05c 0x4 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
294   - 0x000000000000c05c __isr_1
295   - 0x000000000000c05c __isr_4
296   - 0x000000000000c05c __isr_11
297   - 0x000000000000c05c __isr_5
298   - 0x000000000000c05c __isr_2
299   - 0x000000000000c05c __isr_10
300   - 0x000000000000c05c __isr_0
301   - 0x000000000000c05c __isr_8
302   - 0x000000000000c05c __isr_12
303   - 0x000000000000c05c __isr_9
304   - 0x000000000000c05c __isr_6
305   - 0x000000000000c05c __isr_14
306   - .text.crt0 0x000000000000c060 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
307   - .text 0x000000000000c060 0x1f4 main.obj
308   - 0x000000000000c060 init
309   - 0x000000000000c104 __isr_7
310   - 0x000000000000c130 __isr_3
311   - 0x000000000000c162 Em_Message_startSend
312   - 0x000000000000c176 Em_Message_lock
313   - 0x000000000000c17e Em_Message_unlock
314   - 0x000000000000c18a tickHandler
315   - 0x000000000000c18a __isr_13
316   - 0x000000000000c1ea Blinker_connectHandler
317   - 0x000000000000c1f0 Blinker_disconnectHandler
318   - 0x000000000000c1f8 Blinker_cmd_store
319   - 0x000000000000c222 Blinker_count_fetch
320   - 0x000000000000c22a Blinker_count_store
321   - 0x000000000000c230 Blinker_delay_fetch
322   - 0x000000000000c238 Blinker_delay_store
323   - 0x000000000000c23e Blinker_ledState_fetch
324   - .text 0x000000000000c254 0x400 Blinker.obj
325   - 0x000000000000c254 Em_Message_addByte
326   - 0x000000000000c29c Blinker_reset
327   - 0x000000000000c2ca Blinker_run
328   - 0x000000000000c2d0 Em_App_startIndSend
329   - 0x000000000000c2ea Blinker_pairingOn
330   - 0x000000000000c30c Blinker_pairingOff
331   - 0x000000000000c316 Blinker_disconnect
332   - 0x000000000000c338 Blinker_accept
333   - 0x000000000000c356 Em_App_startResSend
334   - 0x000000000000c370 Em_App_xmitReady
335   - 0x000000000000c3c4 Em_App_sendResponse
336   - 0x000000000000c3e8 Em_App_sysStoreDispatch
337   - 0x000000000000c402 Em_App_sysFetchDispatch
338   - 0x000000000000c482 Em_App_fetchDispatch
339   - 0x000000000000c4c0 Em_App_storeDispatch
340   - 0x000000000000c4f8 Em_Message_dispatch
341   - 0x000000000000c556 Em_App_sendIndicator
342   - 0x000000000000c586 Em_Message_getByte
343   - 0x000000000000c63c Blinker_ledState_indicate
344   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
345   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
346   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
347   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
348   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
349   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
350   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
351   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
352   - .text 0x000000000000c654 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
353   - .text.crt0 0x000000000000c654 0x2 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
354   - 0x000000000000c654 _unexpected_
355   - 0x000000000000c656 . = ALIGN (0x2)
356   -
357   -.rodata 0x000000000000c656 0x32
358   - 0x000000000000c656 . = ALIGN (0x2)
359   - *(.rodata .rodata.* .gnu.linkonce.r.*)
360   - .rodata 0x000000000000c656 0x32 Blinker.obj
361   - 0x000000000000c66a Em_App_endian
362   - 0x000000000000c66c Em_App_build
363   - 0x000000000000c674 Em_App_hash
364   - 0x000000000000c688 . = ALIGN (0x2)
365   - 0x000000000000c688 _etext = .
366   -
367   -.data 0x0000000000000200 0xa load address 0x000000000000c688
368   - 0x0000000000000200 . = ALIGN (0x2)
369   - 0x0000000000000200 PROVIDE (__data_start, .)
370   - *(.data .data.* .gnu.linkonce.d.*)
371   - .data 0x0000000000000200 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
372   - .data 0x0000000000000200 0x6 main.obj
373   - 0x0000000000000200 delayRes
374   - 0x0000000000000202 countRes
375   - 0x0000000000000204 cmdRes
376   - .data 0x0000000000000206 0x4 Blinker.obj
377   - 0x0000000000000206 Em_App_inBuf
378   - 0x0000000000000208 Em_App_readIdle
379   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
380   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
381   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
382   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
383   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
384   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
385   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
386   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
387   - .data 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
388   - 0x000000000000020a . = ALIGN (0x2)
389   - 0x000000000000020a _edata = .
390   - 0x000000000000c688 PROVIDE (__data_load_start, LOADADDR (.data))
391   - 0x000000000000000a PROVIDE (__data_size, SIZEOF (.data))
392   -
393   -.bss 0x000000000000020a 0x3e load address 0x000000000000c692
394   - 0x000000000000020a PROVIDE (__bss_start, .)
395   - *(.bss .bss.*)
396   - .bss 0x000000000000020a 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
397   - .bss 0x000000000000020a 0x0 main.obj
398   - .bss 0x000000000000020a 0x4 Blinker.obj
399   - 0x000000000000020a Em_App_moreData
400   - 0x000000000000020c Em_App_state
401   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
402   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
403   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
404   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
405   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
406   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
407   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
408   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
409   - .bss 0x000000000000020e 0x0 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
410   - *(COMMON)
411   - COMMON 0x000000000000020e 0x4 main.obj
412   - 0x000000000000020e curTime
413   - 0x0000000000000210 curCount
414   - COMMON 0x0000000000000212 0x35 Blinker.obj
415   - 0x0000000000000212 Em_App_recvIdx
416   - 0x0000000000000213 Em_App_xmitSize
417   - 0x0000000000000214 Em_App_outBuf
418   - 0x0000000000000216 Em_App_ind
419   - 0x0000000000000220 Em_App_xmitMask
420   - 0x0000000000000224 Em_App_msg
421   - 0x000000000000023e Em_App_recvSize
422   - 0x0000000000000240 Em_App_fileIndex
423   - 0x0000000000000244 Em_App_pdHdlr
424   - 0x0000000000000246 Em_App_xmitIdx
425   - 0x0000000000000248 . = ALIGN (0x2)
426   - *fill* 0x0000000000000247 0x1 00
427   - 0x0000000000000248 PROVIDE (__bss_end, .)
428   - 0x000000000000003e PROVIDE (__bss_size, SIZEOF (.bss))
429   -
430   -.noinit 0x0000000000000248 0x2 load address 0x000000000000c692
431   - 0x0000000000000248 PROVIDE (__noinit_start, .)
432   - *(.noinit .noinit.*)
433   - .noinit.crt0 0x0000000000000248 0x2 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
434   - 0x0000000000000248 __wdt_clear_value
435   - 0x000000000000024a . = ALIGN (0x2)
436   - 0x000000000000024a PROVIDE (__noinit_end, .)
437   - 0x000000000000024a . = ALIGN (0x2)
438   - 0x000000000000024a _end = .
439   -
440   -.infomem 0x0000000000001000 0x0
441   - *(.infomem)
442   - 0x0000000000001000 . = ALIGN (0x2)
443   - *(.infomem.*)
444   -
445   -.infomemnobits 0x0000000000001000 0x0
446   - *(.infomemnobits)
447   - 0x0000000000001000 . = ALIGN (0x2)
448   - *(.infomemnobits.*)
449   -
450   -.infoa
451   - *(.infoa .infoa.*)
452   -
453   -.infob
454   - *(.infob .infob.*)
455   -
456   -.infoc
457   - *(.infoc .infoc.*)
458   -
459   -.infod
460   - *(.infod .infod.*)
461   -
462   -.vectors 0x000000000000ffe0 0x20
463   - 0x000000000000ffe0 PROVIDE (__vectors_start, .)
464   - *(.vectors*)
465   - .vectors 0x000000000000ffe0 0x20 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
466   - 0x000000000000ffe0 __ivtbl_16
467   - 0x0000000000010000 _vectors_end = .
468   -
469   -.fartext 0x0000000000000000 0x0
470   - 0x0000000000000000 . = ALIGN (0x2)
471   - *(.fartext)
472   - 0x0000000000000000 . = ALIGN (0x2)
473   - *(.fartext.*)
474   - 0x0000000000000000 _efartext = .
475   -
476   -.profiler
477   - *(.profiler)
478   -
479   -.stab
480   - *(.stab)
481   -
482   -.stabstr
483   - *(.stabstr)
484   -
485   -.stab.excl
486   - *(.stab.excl)
487   -
488   -.stab.exclstr
489   - *(.stab.exclstr)
490   -
491   -.stab.index
492   - *(.stab.index)
493   -
494   -.stab.indexstr
495   - *(.stab.indexstr)
496   -
497   -.comment
498   - *(.comment)
499   -
500   -.debug
501   - *(.debug)
502   -
503   -.line
504   - *(.line)
505   -
506   -.debug_srcinfo
507   - *(.debug_srcinfo)
508   -
509   -.debug_sfnames
510   - *(.debug_sfnames)
511   -
512   -.debug_aranges 0x0000000000000000 0xa4
513   - *(.debug_aranges)
514   - .debug_aranges
515   - 0x0000000000000000 0x18 main.obj
516   - .debug_aranges
517   - 0x0000000000000018 0x14 Blinker.obj
518   - .debug_aranges
519   - 0x000000000000002c 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
520   - .debug_aranges
521   - 0x0000000000000040 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
522   - .debug_aranges
523   - 0x0000000000000054 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
524   - .debug_aranges
525   - 0x0000000000000068 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
526   - .debug_aranges
527   - 0x000000000000007c 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
528   - .debug_aranges
529   - 0x0000000000000090 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
530   -
531   -.debug_pubnames
532   - *(.debug_pubnames)
533   -
534   -.debug_info 0x0000000000000000 0x11f6
535   - *(.debug_info)
536   - .debug_info 0x0000000000000000 0x74e main.obj
537   - .debug_info 0x000000000000074e 0x74e Blinker.obj
538   - .debug_info 0x0000000000000e9c 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
539   - .debug_info 0x0000000000000f2b 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
540   - .debug_info 0x0000000000000fba 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
541   - .debug_info 0x0000000000001049 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
542   - .debug_info 0x00000000000010d8 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
543   - .debug_info 0x0000000000001167 0x8f /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
544   - *(.gnu.linkonce.wi.*)
545   -
546   -.debug_abbrev 0x0000000000000000 0x456
547   - *(.debug_abbrev)
548   - .debug_abbrev 0x0000000000000000 0x1b0 main.obj
549   - .debug_abbrev 0x00000000000001b0 0x22e Blinker.obj
550   - .debug_abbrev 0x00000000000003de 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
551   - .debug_abbrev 0x00000000000003f2 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
552   - .debug_abbrev 0x0000000000000406 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
553   - .debug_abbrev 0x000000000000041a 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
554   - .debug_abbrev 0x000000000000042e 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
555   - .debug_abbrev 0x0000000000000442 0x14 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
556   -
557   -.debug_line 0x0000000000000000 0x61e
558   - *(.debug_line)
559   - .debug_line 0x0000000000000000 0x16a main.obj
560   - .debug_line 0x000000000000016a 0x205 Blinker.obj
561   - .debug_line 0x000000000000036f 0x72 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
562   - .debug_line 0x00000000000003e1 0x70 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
563   - .debug_line 0x0000000000000451 0x76 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
564   - .debug_line 0x00000000000004c7 0x76 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
565   - .debug_line 0x000000000000053d 0x71 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
566   - .debug_line 0x00000000000005ae 0x70 /Applications/Development/eclipse/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
567   -
568   -.debug_frame 0x0000000000000000 0x22e
569   - *(.debug_frame)
570   - .debug_frame 0x0000000000000000 0x11a main.obj
571   - .debug_frame 0x000000000000011a 0x114 Blinker.obj
572   -
573   -.debug_str 0x0000000000000000 0x6c6
574   - *(.debug_str)
575   - .debug_str 0x0000000000000000 0x32a main.obj
576   - 0x42a (size before relaxing)
577   - .debug_str 0x000000000000032a 0x39c Blinker.obj
578   - 0x49b (size before relaxing)
579   -
580   -.debug_loc 0x0000000000000000 0x381
581   - *(.debug_loc)
582   - .debug_loc 0x0000000000000000 0xf6 main.obj
583   - .debug_loc 0x00000000000000f6 0x28b Blinker.obj
584   -
585   -.debug_macinfo
586   - *(.debug_macinfo)
587   -
588   -.debug_pubtypes
589   - *(.debug_pubtypes)
590   -
591   -.debug_ranges 0x0000000000000000 0xc
592   - *(.debug_ranges)
593   - .debug_ranges 0x0000000000000000 0xc main.obj
594   - 0x0000000000000400 PROVIDE (__stack, (ORIGIN (ram) + 0x200))
595   - 0x000000000000c688 PROVIDE (__data_start_rom, _etext)
596   - 0x000000000000c692 PROVIDE (__data_end_rom, (_etext + SIZEOF (.data)))
597   -OUTPUT(main.out elf32-msp430)
BlinkerLaunchPad/main.obj deleted
No preview for this file type
BlinkerLaunchPad/main.out deleted
No preview for this file type
BlinkerLaunchPad/makefile deleted
1   -EMSNAME = Blinker
2   -
3   -COMMON = ../../../Common/Embedded/LaunchPad
4   -SCHEMA = ../../Schema
5   -
6   -OBJECTS = main.obj $(EMSNAME).obj
7   -
8   -include $(COMMON)/rules.mk
BlinkerSchema/.gitignore deleted
1   -/imports
BlinkerSchema/.project deleted
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<projectDescription>
3   - <name>BlinkerSchema</name>
4   - <comment></comment>
5   - <projects>
6   - </projects>
7   - <buildSpec>
8   - <buildCommand>
9   - <name>com.emmoco.mcmtooling.core.mcmToolingBuilder</name>
10   - <arguments>
11   - </arguments>
12   - </buildCommand>
13   - </buildSpec>
14   - <natures>
15   - <nature>com.emmoco.mcmtooling.core.mcmToolingNature</nature>
16   - </natures>
17   -</projectDescription>
BlinkerSchema/Em/Blinker-STUBS.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#include "Blinker.h"
5   -
6   -#ifdef Blinker_STUBS_ /* enables optional inclusion of application stubs */
7   -
8   -/* Copy the function skeletons below into your own application source file */
9   -
10   -void Blinker_connectHandler(void) {
11   - /* TODO: application is now connected */
12   -}
13   -
14   -void Blinker_disconnectHandler(void) {
15   - /* TODO: application is now disconnected */
16   -}
17   -
18   -void Blinker_cmd_store(Blinker_cmd_t* input) {
19   - /* TODO: write resource 'cmd' from 'input' */
20   -}
21   -
22   -void Blinker_count_fetch(Blinker_count_t* output) {
23   - /* TODO: read resource 'count' into 'output' */
24   -}
25   -
26   -void Blinker_count_store(Blinker_count_t* input) {
27   - /* TODO: write resource 'count' from 'input' */
28   -}
29   -
30   -void Blinker_delay_fetch(Blinker_delay_t* output) {
31   - /* TODO: read resource 'delay' into 'output' */
32   -}
33   -
34   -void Blinker_delay_store(Blinker_delay_t* input) {
35   - /* TODO: write resource 'delay' from 'input' */
36   -}
37   -
38   -void Blinker_ledState_fetch(Blinker_ledState_t* output) {
39   - /* TODO: read resource 'ledState' into 'output' */
40   -}
41   -
42   -#endif /* application stubs */
BlinkerSchema/Em/Blinker.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#include "Em_Message.h"
5   -#include "Blinker.h"
6   -
7   -#ifdef __cplusplus
8   -extern "C" {
9   -#endif
10   -
11   -#define Em_Message_protocolLevel 13
12   -
13   -typedef struct Em_App_Message {
14   - uint8_t dummy[3];
15   - uint8_t sot;
16   - Em_Message_Header hdr;
17   - uint8_t data[20];
18   -} Em_App_Message;
19   -
20   -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))};
21   -
22   -const uint8_t Em_App_build[] = {24, 231, 30, 251, 69, 1, 0, 0};
23   -
24   -#define Em_App_APP_RESOURCE_COUNT 4
25   -#define Em_App_SYS_RESOURCE_COUNT 9
26   -
27   -#define Em_App_ACCEPT Blinker_accept
28   -#define Em_App_ACTIVATEPARAMETERS Blinker_activateParameters
29   -#define Em_App_BROADCASTOFF Blinker_broadcastOff
30   -#define Em_App_DISCONNECT Blinker_disconnect
31   -#define Em_App_PAIRINGON Blinker_pairingOn
32   -#define Em_App_PAIRINGOFF Blinker_pairingOff
33   -#define Em_App_RESET Blinker_reset
34   -#define Em_App_SETDEVICENAME Blinker_setDeviceName
35   -#define Em_App_START Blinker_start
36   -
37   -#define Em_App_CONNECTHANDLER Blinker_connectHandler
38   -#define Em_App_DISCONNECTHANDLER Blinker_disconnectHandler
39   -
40   -#define Em_App_MAX_INDICATOR 2
41   -
42   -/* BEGIN common code */
43   -
44   -enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED};
45   -
46   -typedef struct Em_App_Indicator {
47   - uint8_t dummy[3];
48   - uint8_t sot;
49   - Em_Message_Header hdr;
50   - uint8_t data[Em_Message_INDSIZE];
51   -} Em_App_Indicator;
52   -
53   -union { uint32_t align; Em_App_Message msg; } Em_App_msg_u;
54   -union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u;
55   -#define Em_App_msg Em_App_msg_u.msg
56   -#define Em_App_ind Em_App_ind_u.ind
57   -
58   -void (*Em_App_pdHdlr)(void);
59   -
60   -const uint16_t Em_App_endian = 0x0100;
61   -
62   -Em_Message_Size Em_App_recvIdx;
63   -Em_Message_Size Em_App_recvSize;
64   -Em_Message_Size Em_App_xmitIdx;
65   -Em_Message_Size Em_App_xmitSize;
66   -
67   -uint8_t Em_App_state = Em_App_IDLE;
68   -int32_t Em_App_fileIndex = 0;
69   -uint32_t Em_App_xmitMask = 0;
70   -
71   -uint8_t* Em_App_valp;
72   -uint8_t* Em_App_bufp;
73   -const char* Em_App_desc;
74   -
75   -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
76   -uint8_t* Em_App_outBuf = 0;
77   -
78   -uint8_t* _Em_Message_rxBuf = 0;
79   -uint8_t _Em_Message_rxCnt = 0;
80   -
81   -uint8_t* _Em_Message_txBuf = 0;
82   -uint8_t _Em_Message_txCnt = 0;
83   -
84   -#define Em_App_DEVNAME_LEN 9
85   -const char* Em_App_devName = 0;
86   -
87   -void Em_App_fetchDispatch(void);
88   -void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc);
89   -void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc);
90   -void Em_App_storeDispatch(void);
91   -void Em_App_sendIndicator(Em_Message_ResId indId);
92   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
93   -void Em_App_startIndSend(void);
94   -void Em_App_startResSend(void);
95   -void Em_App_sysFetchDispatch(void);
96   -void Em_App_sysStoreDispatch(void);
97   -bool Em_App_xmitReady(Em_Message_ResId indId);
98   -
99   -void Em_Message_nextXmit(void) {
100   - uint8_t key = Em_Hal_lock();
101   - if (Em_App_xmitMask != 0) {
102   - uint8_t i;
103   - uint32_t m;
104   - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
105   - if (Em_App_xmitMask & m) {
106   - Em_App_xmitMask &= ~m;
107   - if (i == 0) {
108   - Em_App_startResSend();
109   - }
110   - else {
111   - Em_App_sendIndicator(i - 1);
112   - }
113   - break;
114   - }
115   - }
116   - }
117   - Em_Hal_unlock(key);
118   -}
119   -
120   -void Em_Message_restart(void) {
121   - Em_App_START();
122   -}
123   -
124   -void Em_App_ACCEPT(bool enable) {
125   - if (Em_App_state == Em_App_CONNECTED) {
126   - return;
127   - }
128   - Em_App_ind.sot = 0;
129   - Em_App_ind.hdr.kind = Em_Message_ACCEPT;
130   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
131   - Em_App_ind.hdr.resId = enable;
132   - Em_App_startIndSend();
133   -}
134   -
135   -void Em_App_ACTIVATEPARAMETERS(uint8_t group) {
136   - if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) {
137   - return;
138   - }
139   - Em_App_ind.sot = 0;
140   - Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS;
141   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
142   - Em_App_ind.hdr.resId = group;
143   - Em_App_startIndSend();
144   -}
145   -
146   -void Em_App_BROADCASTOFF(void) {
147   - Em_App_ind.sot = 0;
148   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
149   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
150   - Em_App_ind.hdr.resId = 0;
151   - Em_App_startIndSend();
152   -}
153   -
154   -void Em_App_DISCONNECT(void) {
155   - if (Em_App_state != Em_App_CONNECTED) {
156   - return;
157   - }
158   - Em_App_state = Em_App_DISCONNECTED;
159   - Em_App_ind.sot = 0;
160   - Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
161   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
162   - Em_App_ind.hdr.resId = 0;
163   - Em_App_startIndSend();
164   -}
165   -
166   -void Em_Message_dispatch(void) {
167   - if (Em_App_state == Em_App_IDLE) {
168   - return;
169   - }
170   - switch (Em_App_msg.hdr.kind) {
171   - case Em_Message_CONNECT:
172   - Em_App_state = Em_App_CONNECTED;
173   - Em_App_CONNECTHANDLER();
174   - break;
175   - case Em_Message_DISCONNECT:
176   - Em_App_state = Em_App_DISCONNECTED;
177   - Em_App_DISCONNECTHANDLER();
178   - break;
179   - case Em_Message_PAIRING_DONE:
180   - if (Em_App_pdHdlr) {
181   - (*Em_App_pdHdlr)();
182   - }
183   - break;
184   - case Em_Message_FETCH:
185   - if (Em_App_msg.hdr.resId < 0x80) {
186   - Em_App_fetchDispatch();
187   - }
188   - else {
189   - Em_App_sysFetchDispatch();
190   - }
191   - break;
192   - case Em_Message_STORE:
193   - if (Em_App_msg.hdr.resId < 0x80) {
194   - Em_App_storeDispatch();
195   - }
196   - else {
197   - Em_App_sysStoreDispatch();
198   - }
199   - break;
200   - }
201   -}
202   -
203   -void Em_App_marshallToBuf() {
204   - char ch;
205   - while ((ch = *Em_App_desc++)) {
206   - switch (ch) {
207   - case '0' : {
208   - *Em_App_bufp++ = 0;
209   - break;
210   - }
211   - case '1' : {
212   - *Em_App_bufp++ = *Em_App_valp & 0xFF;
213   - break;
214   - }
215   - case '2' : {
216   - uint16_t v16 = *(uint16_t*)Em_App_valp;
217   - *Em_App_bufp++ = v16 & 0xFF;
218   - *Em_App_bufp++ = (v16 >> 8) & 0xFF;
219   - break;
220   - }
221   - case '4' : {
222   - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
223   - uint32_t v32 = *(uint32_t*)Em_App_valp++;
224   - *Em_App_bufp++ = v32 & 0xFF;
225   - *Em_App_bufp++ = (v32 >> 8) & 0xFF;
226   - *Em_App_bufp++ = (v32 >> 16) & 0xFF;
227   - *Em_App_bufp++ = (v32 >> 24) & 0xFF;
228   - break;
229   - }
230   - }
231   - Em_App_valp += 1;
232   - }
233   -}
234   -
235   -void Em_App_marshallToVal() {
236   - char ch;
237   - while ((ch = *Em_App_desc++)) {
238   - switch (ch) {
239   - case '0' : {
240   - *Em_App_valp = 0;
241   - Em_App_bufp += 1;
242   - break;
243   - }
244   - case '1' : {
245   - *Em_App_valp = *Em_App_bufp++ & 0xFF;
246   - break;
247   - }
248   - case '2' : {
249   - uint16_t v16 = *Em_App_bufp++ & 0xFF;
250   - v16 |= (*Em_App_bufp++ << 8);
251   - *(uint16_t*)Em_App_valp = v16;
252   - break;
253   - }
254   - case '4' : {
255   - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
256   - uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF;
257   - v32 |= ((uint32_t)*Em_App_bufp++ << 8);
258   - v32 |= ((uint32_t)*Em_App_bufp++ << 16);
259   - v32 |= ((uint32_t)*Em_App_bufp++ << 24);
260   - *(uint32_t*)Em_App_valp++ = v32;
261   - break;
262   - }
263   - }
264   - Em_App_valp += 1;
265   - }
266   -}
267   -
268   -void Em_App_PAIRINGOFF(void(*handler)(void)) {
269   - Em_App_PAIRINGON(0, handler);
270   -}
271   -
272   -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
273   - if (Em_App_state != Em_App_DISCONNECTED) {
274   - return;
275   - }
276   - Em_App_pdHdlr = handler;
277   - Em_App_ind.sot = 0;
278   - Em_App_ind.hdr.kind = Em_Message_PAIRING;
279   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
280   - Em_App_ind.hdr.resId = secs;
281   - Em_App_startIndSend();
282   -}
283   -
284   -void Em_App_RESET(void) {
285   - Em_Hal_reset();
286   - _Em_Message_rxBuf = _Em_Message_txBuf = 0;
287   - _Em_Message_rxCnt = _Em_Message_txCnt = 0;
288   - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
289   - Em_App_state = Em_App_IDLE;
290   - Em_App_fileIndex = 0;
291   - Em_App_xmitMask = 0;
292   -}
293   -
294   -void Em_App_SETDEVICENAME(const char* name) {
295   - Em_App_devName = name;
296   -}
297   -
298   -void Em_App_START(void) {
299   - Em_App_RESET();
300   - Em_App_state = Em_App_STARTING;
301   -}
302   -
303   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
304   - if (Em_App_state != Em_App_IDLE) {
305   - Em_App_msg.sot = 0;
306   - Em_App_msg.hdr.kind = kind;
307   - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
308   - if (Em_App_xmitReady(0)) {
309   - Em_App_startResSend();
310   - }
311   - }
312   -}
313   -
314   -void Em_App_startIndSend(void) {
315   - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
316   - Em_App_xmitSize = Em_App_ind.hdr.size + 1;
317   - Em_App_xmitIdx = 0;
318   - Em_Hal_startSend();
319   -}
320   -
321   -void Em_App_startResSend(void) {
322   - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
323   - Em_App_xmitSize = Em_App_msg.hdr.size + 1;
324   - Em_App_xmitIdx = 0;
325   - Em_Hal_startSend();
326   -}
327   -
328   -void Em_App_sysFetchDispatch(void) {
329   - uint8_t size = 0;
330   - int i, j;
331   - switch (Em_App_msg.hdr.resId) {
332   - case Em_Message_SYS_SCHEMA_HASH:
333   - for (i = 0; i < sizeof (Em_App_hash); i++) {
334   - Em_App_msg.data[i] = Em_App_hash[i];
335   - }
336   - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
337   - size = sizeof (Em_App_hash) + 1;
338   - break;
339   - case Em_Message_SYS_MCM_NAME:
340   - if (Em_App_devName) {
341   - for (i = 0; i < Em_App_DEVNAME_LEN; i++) {
342   - if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) {
343   - break;
344   - }
345   - }
346   - for (j = i; j < Em_App_DEVNAME_LEN; j++) {
347   - Em_App_msg.data[j] = 0;
348   - }
349   - size = Em_App_DEVNAME_LEN;
350   - }
351   - break;
352   - case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
353   - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
354   - size = sizeof (Em_Message_protocolLevel_t);
355   - break;
356   - case Em_Message_SYS_EAP_BUILD_DATE:
357   - for (i = 0; i < sizeof (Em_App_build); i++) {
358   - Em_App_msg.data[i] = Em_App_build[i];
359   - }
360   - size = sizeof (Em_App_build);
361   - break;
362   - case Em_Message_SYS_RESOURCE_COUNT:
363   - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
364   - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
365   - size = 2;
366   - break;
367   - }
368   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
369   -}
370   -
371   -void Em_App_sysStoreDispatch(void) {
372   - switch (Em_App_msg.hdr.resId) {
373   - case Em_Message_SYS_FILE_INDEX_RESET:
374   - Em_App_fileIndex = 0;
375   - break;
376   - }
377   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
378   -}
379   -
380   -bool Em_App_xmitReady(Em_Message_ResId indId) {
381   - uint8_t key = Em_Hal_lock();
382   - bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0;
383   - if (!res) {
384   - Em_App_xmitMask |= (1 << indId);
385   - }
386   - Em_Hal_unlock(key);
387   - return res;
388   -}
389   -
390   -/* END common code */
391   -
392   -void Em_App_fetchDispatch(void) {
393   - uint8_t size = 0;
394   - switch (Em_App_msg.hdr.resId) {
395   - case 0: {
396   - break;
397   - }
398   - case 2: {
399   -#ifdef Em_16BIT
400   - Blinker_count_t val;
401   - Em_App_valp = (uint8_t*)&val;
402   - Em_App_bufp = Em_App_msg.data;
403   - Em_App_desc = "2";
404   - Blinker_count_fetch(&val);
405   - Em_App_marshallToBuf();
406   -#else
407   - Blinker_count_fetch((void*)Em_App_msg.data);
408   -#endif
409   - size = 2;
410   - break;
411   - }
412   - case 3: {
413   -#ifdef Em_16BIT
414   - Blinker_delay_t val;
415   - Em_App_valp = (uint8_t*)&val;
416   - Em_App_bufp = Em_App_msg.data;
417   - Em_App_desc = "2";
418   - Blinker_delay_fetch(&val);
419   - Em_App_marshallToBuf();
420   -#else
421   - Blinker_delay_fetch((void*)Em_App_msg.data);
422   -#endif
423   - size = 2;
424   - break;
425   - }
426   - case 4: {
427   -#ifdef Em_16BIT
428   - Blinker_ledState_t val;
429   - Em_App_valp = (uint8_t*)&val;
430   - Em_App_bufp = Em_App_msg.data;
431   - Em_App_desc = "1";
432   - Blinker_ledState_fetch(&val);
433   - Em_App_marshallToBuf();
434   -#else
435   - Blinker_ledState_fetch((void*)Em_App_msg.data);
436   -#endif
437   - size = 1;
438   - break;
439   - }
440   - }
441   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
442   -}
443   -
444   -void Em_App_storeDispatch(void) {
445   - switch (Em_App_msg.hdr.resId) {
446   - case 0: {
447   - break;
448   - }
449   - case 1: {
450   -#ifdef Em_16BIT
451   - Blinker_cmd_t val;
452   - Em_App_valp = (uint8_t*)&val;
453   - Em_App_bufp = Em_App_msg.data;
454   - Em_App_desc = "1";
455   - Em_App_marshallToVal();
456   - Blinker_cmd_store(&val);
457   -#else
458   - Blinker_cmd_store((void*)Em_App_msg.data);
459   -#endif
460   - break;
461   - }
462   - case 2: {
463   -#ifdef Em_16BIT
464   - Blinker_count_t val;
465   - Em_App_valp = (uint8_t*)&val;
466   - Em_App_bufp = Em_App_msg.data;
467   - Em_App_desc = "2";
468   - Em_App_marshallToVal();
469   - Blinker_count_store(&val);
470   -#else
471   - Blinker_count_store((void*)Em_App_msg.data);
472   -#endif
473   - break;
474   - }
475   - case 3: {
476   -#ifdef Em_16BIT
477   - Blinker_delay_t val;
478   - Em_App_valp = (uint8_t*)&val;
479   - Em_App_bufp = Em_App_msg.data;
480   - Em_App_desc = "2";
481   - Em_App_marshallToVal();
482   - Blinker_delay_store(&val);
483   -#else
484   - Blinker_delay_store((void*)Em_App_msg.data);
485   -#endif
486   - break;
487   - }
488   - }
489   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
490   -}
491   -
492   -void Em_App_sendIndicator(Em_Message_ResId indId) {
493   - Em_Message_Size resId = 0;
494   - Em_Message_Size size = 0;
495   - switch (indId) {
496   - case 1: {
497   -#ifdef Em_16BIT
498   - Blinker_ledState_t val;
499   - Em_App_valp = (uint8_t*)&val;
500   - Em_App_bufp = Em_App_ind.data;
501   - Em_App_desc = "1";
502   - Blinker_ledState_fetch(&val);
503   - Em_App_marshallToBuf();
504   -#else
505   - Blinker_ledState_fetch((Blinker_ledState_t*)&Em_App_ind.data);
506   -#endif
507   - resId = 4;
508   - size = 1;
509   - break;
510   - }
511   - }
512   - Em_App_ind.sot = 0;
513   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
514   - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size;
515   - Em_App_ind.hdr.resId = resId;
516   - Em_App_startIndSend();
517   -}
518   -
519   -void Blinker_ledState_indicate(void) {
520   - if (Em_App_state == Em_App_CONNECTED && Em_App_xmitReady(1 + 1)) Em_App_sendIndicator(1);
521   -}
522   -
523   -#ifdef __cplusplus
524   -}
525   -#endif
526   -
BlinkerSchema/Em/Blinker.h deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-14T16:24:37T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#ifndef Blinker__H
5   -#define Blinker__H
6   -
7   -#include "Em_Types.h"
8   -#include "Em_Message.h"
9   -
10   -#ifdef __cplusplus
11   -extern "C" {
12   -#endif
13   -
14   -/* -------- connection callback functions implemented by the application -------- */
15   -
16   -void Blinker_connectHandler(void);
17   -void Blinker_disconnectHandler(void);
18   -
19   -/* -------- resource types defined in the schema -------- */
20   -
21   -/* enum Cmd */
22   -typedef uint8_t Blinker_Cmd;
23   -#define Blinker_START_CMD 0
24   -#define Blinker_STOP_CMD 1
25   -
26   -/* enum LedState */
27   -typedef uint8_t Blinker_LedState;
28   -#define Blinker_LED_OFF 0
29   -#define Blinker_LED_ON 1
30   -
31   -/* -------- resource callback functions implemented by the application -------- */
32   -
33   -/* resource cmd */
34   -typedef Blinker_Cmd Blinker_cmd_t;
35   -extern void Blinker_cmd_store(Blinker_cmd_t* input);
36   -
37   -/* resource count */
38   -typedef int16_t Blinker_count_t;
39   -extern void Blinker_count_fetch(Blinker_count_t* output);
40   -extern void Blinker_count_store(Blinker_count_t* input);
41   -
42   -/* resource delay */
43   -typedef uint16_t Blinker_delay_t;
44   -#define Blinker_delay_min 500
45   -#define Blinker_delay_max 2000
46   -#define Blinker_delay_step 100
47   -#define Blinker_delay_scale 1000
48   -extern void Blinker_delay_fetch(Blinker_delay_t* output);
49   -extern void Blinker_delay_store(Blinker_delay_t* input);
50   -
51   -/* resource ledState */
52   -typedef Blinker_LedState Blinker_ledState_t;
53   -extern void Blinker_ledState_fetch(Blinker_ledState_t* output);
54   -extern void Blinker_ledState_indicate(void); /* called by the application */
55   -
56   -/* -------- application functions implemented in Blinker.c -------- */
57   -
58   -void Blinker_accept(bool enable);
59   -void Blinker_activateParameters(uint8_t group);
60   -void Blinker_broadcastOff(void);
61   -void Blinker_disconnect(void);
62   -void Blinker_pairingOn(uint8_t secs, void(*handler)(void));
63   -void Blinker_pairingOff(void(*handler)(void));
64   -void Blinker_reset(void);
65   -void Blinker_setDeviceName(const char* name);
66   -void Blinker_start(void);
67   -
68   -#ifdef __cplusplus
69   -}
70   -#endif
71   -
72   -#endif /* Blinker__H */
BlinkerSchema/Em/Em_Message.h deleted
1   -#ifndef Em_Message_H_
2   -#define Em_Message_H_
3   -
4   -#include "Em_Types.h"
5   -
6   -#ifdef __cplusplus
7   -extern "C" {
8   -#endif
9   -
10   -/* -------- SRT FUNCTIONS CALLED BY HAL -------- */
11   -
12   -static inline bool Em_Message_addByte(uint8_t b);
13   -extern void Em_Message_dispatch(void);
14   -static inline bool Em_Message_getByte(uint8_t* bp);
15   -extern void Em_Message_restart(void);
16   -static inline bool Em_Message_startRx(void);
17   -static inline uint8_t Em_Message_startTx(void);
18   -
19   -
20   -/* -------- HAL FUNCTIONS CALLED BY SRT -------- */
21   -
22   -extern uint8_t Em_Hal_lock(void);
23   -extern void Em_Hal_reset(void);
24   -extern void Em_Hal_startSend(void);
25   -extern void Em_Hal_unlock(uint8_t key);
26   -extern void Em_Hal_watchOff(void);
27   -extern void Em_Hal_watchOn(void);
28   -
29   -
30   -/* -------- MESSAGE FORMAT -------- */
31   -
32   -/* protocolLevel #4 */
33   -#define Em_Message_INDSIZE 4
34   -
35   -typedef uint8_t Em_Message_Size;
36   -typedef uint8_t Em_Message_Kind;
37   -/* protocolLevel #12 -- split 16-bit resId into <resId, chan> */
38   -typedef uint8_t Em_Message_ResId;
39   -typedef uint8_t Em_Message_Chan;
40   -
41   -#define Em_Message_NOP 0
42   -#define Em_Message_FETCH 1
43   -#define Em_Message_FETCH_DONE 2
44   -#define Em_Message_STORE 3
45   -#define Em_Message_STORE_DONE 4
46   -#define Em_Message_INDICATOR 5
47   -#define Em_Message_CONNECT 6
48   -#define Em_Message_DISCONNECT 7
49   -#define Em_Message_ECHO 8
50   -/* protocolLevel #3 */
51   -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
52   -#define Em_Message_PAIRING 9
53   -#define Em_Message_PAIRING_DONE 10
54   -/* protocolLevel #7 */
55   -#define Em_Message_OFFLINE 11
56   -/* protocolLevel #8 */
57   -#define Em_Message_ACCEPT 12
58   -/* protocolLevel #13 */
59   -#define Em_Message_START 13
60   -#define Em_Message_ACTIVE_PARAMS 14
61   -
62   -typedef struct Em_Message_Header {
63   - Em_Message_Size size;
64   - Em_Message_Kind kind;
65   - Em_Message_ResId resId;
66   - Em_Message_Chan chan;
67   -} Em_Message_Header;
68   -
69   -typedef uint16_t Em_Message_protocolLevel_t;
70   -
71   -/* protocolLevel #1 */
72   -
73   -/* protocolLevel #10 */
74   -/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */
75   -
76   -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE
77   -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD
78   -#define Em_Message_SYS_EAP_BUILD_DATE 0xFC
79   -
80   -/* protocolLevel #2 */
81   -#define Em_Message_SYS_FILE_INDEX_RESET 0xFB
82   -
83   -/* protocolLevel #5 */
84   -#define Em_Message_SYS_SCHEMA_HASH 0xFA
85   -
86   -/* protocolLevel #7 */
87   -#define Em_Message_SYS_RESOURCE_COUNT 0xF9
88   -
89   -/* protocolLevel #9 */
90   -#define Em_Message_SYS_MOBILE_RSSI 0xF8
91   -
92   -/* protocolLevel #11 */
93   -#define Em_Message_SYS_MCM_DISCONNECT 0xF7
94   -
95   -/* protocolLevel #13a */
96   -#define Em_Message_SYS_MCM_NAME 0xF5
97   -
98   -
99   -/* -------- PRIVATE -------- */
100   -
101   -extern void Em_Message_nextXmit(void);
102   -
103   -extern uint8_t* Em_App_inBuf;
104   -extern uint8_t* Em_App_outBuf;
105   -extern Em_Message_Size Em_App_xmitSize;
106   -
107   -extern uint8_t* _Em_Message_rxBuf;
108   -extern uint8_t _Em_Message_rxCnt;
109   -
110   -extern uint8_t* _Em_Message_txBuf;
111   -extern uint8_t _Em_Message_txCnt;
112   -
113   -static inline bool Em_Message_addByte(uint8_t b) {
114   - if (_Em_Message_rxCnt == 0) {
115   - if (b == 0) {
116   - return false;
117   - }
118   - _Em_Message_rxCnt = b;
119   - }
120   - *_Em_Message_rxBuf++ = b;
121   - if (--_Em_Message_rxCnt == 0) {
122   - _Em_Message_rxBuf = 0;
123   - if (_Em_Message_txBuf == 0) {
124   - Em_Hal_watchOff();
125   - }
126   - return true;
127   - }
128   - else {
129   - return false;
130   - }
131   -}
132   -
133   -static inline bool Em_Message_getByte(uint8_t* bp) {
134   - if (_Em_Message_txBuf == 0) {
135   - return false;
136   - }
137   - if (_Em_Message_txCnt == 0) {
138   - _Em_Message_txCnt = *_Em_Message_txBuf + 1;
139   - }
140   - if (--_Em_Message_txCnt > 0) {
141   - *bp = *_Em_Message_txBuf++;
142   - return true;
143   - }
144   - else {
145   - _Em_Message_txBuf = 0;
146   - Em_App_xmitSize = 0;
147   - Em_Message_nextXmit();
148   - if (_Em_Message_rxBuf == 0) {
149   - Em_Hal_watchOff();
150   - }
151   - return false;
152   - }
153   -}
154   -
155   -static inline bool Em_Message_startRx(void) {
156   - if (_Em_Message_rxBuf == 0) {
157   - _Em_Message_rxBuf = Em_App_inBuf;
158   - if (_Em_Message_txBuf == 0) {
159   - Em_Hal_watchOn();
160   - }
161   - return true;
162   - }
163   - else {
164   - return false;
165   - }
166   -}
167   -
168   -static inline uint8_t Em_Message_startTx(void) {
169   - _Em_Message_txBuf = Em_App_outBuf + 1;
170   - _Em_Message_txCnt = 0;
171   - if (_Em_Message_rxBuf == 0) {
172   - Em_Hal_watchOn();
173   - }
174   - return 0;
175   -}
176   -
177   -
178   -#ifdef __cplusplus
179   -}
180   -#endif
181   -
182   -#endif /*Em_Message_H_*/
BlinkerSchema/Em/Em_Types.h deleted
1   -#ifndef Em_Types_H_
2   -#define Em_Types_H_
3   -
4   -#ifndef Em_NOSTDBOOL
5   -#include <stdbool.h>
6   -#endif
7   -
8   -#ifndef Em_NOSTDINT
9   -#include <stdint.h>
10   -#endif
11   -
12   -#ifdef Em_16BIT
13   -typedef signed char int8_t;
14   -typedef unsigned char uint8_t;
15   -#endif
16   -
17   -#endif /*Em_Types_H_*/
BlinkerSchema/Em/blinker.json deleted
1   -{
2   - "resources": {
3   - "$eapProtocolLevel": {
4   - "id": -3,
5   - "align": 2,
6   - "attributes": {"readonly": true},
7   - "type": "u2",
8   - "access": "r",
9   - "size": 2
10   - },
11   - "count": {
12   - "id": 2,
13   - "align": 2,
14   - "attributes": {"readwrite": true},
15   - "type": "i2",
16   - "access": "rw",
17   - "size": 2
18   - },
19   - "$activeGroup": {
20   - "id": -10,
21   - "align": 1,
22   - "pack": 1,
23   - "attributes": {"readwrite": true},
24   - "type": "E:system@emmoco.com.System/ParameterGroup",
25   - "access": "rw",
26   - "size": 1
27   - },
28   - "$mcmDisconnect": {
29   - "id": -9,
30   - "align": 1,
31   - "attributes": {"writeonly": true},
32   - "type": "u1",
33   - "access": "w",
34   - "size": 1
35   - },
36   - "$eapBuildDate": {
37   - "dim": 8,
38   - "id": -4,
39   - "align": 1,
40   - "attributes": {"readonly": true},
41   - "type": "A8:u1",
42   - "access": "r",
43   - "size": 8
44   - },
45   - "ledState": {
46   - "id": 4,
47   - "align": 1,
48   - "pack": 1,
49   - "attributes": {
50   - "indicator": true,
51   - "readonly": true
52   - },
53   - "type": "E:@emmoco.com.Blinker/LedState",
54   - "access": "ir",
55   - "size": 1
56   - },
57   - "$resourceCount": {
58   - "id": -7,
59   - "align": 1,
60   - "attributes": {"readonly": true},
61   - "type": "S:system@emmoco.com.System/ResourceCount",
62   - "access": "r",
63   - "size": 2
64   - },
65   - "$schemaHash": {
66   - "dim": 20,
67   - "id": -6,
68   - "align": 1,
69   - "attributes": {"readonly": true},
70   - "type": "A20:u1",
71   - "access": "r",
72   - "size": 20
73   - },
74   - "cmd": {
75   - "id": 1,
76   - "align": 1,
77   - "pack": 1,
78   - "attributes": {"writeonly": true},
79   - "type": "E:@emmoco.com.Blinker/Cmd",
80   - "access": "w",
81   - "size": 1
82   - },
83   - "$mcmProtocolLevel": {
84   - "id": -2,
85   - "align": 2,
86   - "attributes": {"readonly": true},
87   - "type": "u2",
88   - "access": "r",
89   - "size": 2
90   - },
91   - "$mobileRssi": {
92   - "id": -8,
93   - "align": 1,
94   - "attributes": {"readonly": true},
95   - "type": "i1",
96   - "access": "r",
97   - "size": 1
98   - },
99   - "delay": {
100   - "id": 3,
101   - "align": 2,
102   - "pack": 4,
103   - "attributes": {"readwrite": true},
104   - "type": "N:0.500000,2.000000,0.100000,3/u2/15",
105   - "access": "rw",
106   - "size": 2
107   - },
108   - "$fileIndexReset": {
109   - "id": -5,
110   - "align": 2,
111   - "attributes": {"writeonly": true},
112   - "type": "i2",
113   - "access": "w",
114   - "size": 2
115   - }
116   - },
117   - "resourceNamesSys": [
118   - "$activeGroup",
119   - "$eapBuildDate",
120   - "$eapProtocolLevel",
121   - "$fileIndexReset",
122   - "$mcmDisconnect",
123   - "$mcmProtocolLevel",
124   - "$mobileRssi",
125   - "$resourceCount",
126   - "$schemaHash"
127   - ],
128   - "manifest": {
129   - "protocolLevel": 13,
130   - "hash": [
131   - 252,
132   - 123,
133   - 209,
134   - 86,
135   - 230,
136   - 104,
137   - 211,
138   - 8,
139   - 40,
140   - 191,
141   - 19,
142   - 28,
143   - 180,
144   - 183,
145   - 223,
146   - 192
147   - ],
148   - "toolVersion": "13.4.1.201311121909",
149   - "name": "Blinker",
150   - "$$md5": "fc7bd156e668d30828bf131cb4b7dfc0",
151   - "build": [
152   - 24,
153   - 231,
154   - 30,
155   - 251,
156   - 69,
157   - 1,
158   - 0,
159   - 0
160   - ],
161   - "date": "2014-05-14T16:24:37T",
162   - "maxAlign": 2,
163   - "maxSize": 20,
164   - "version": "1.0.0"
165   - },
166   - "resourceNames": [
167   - "cmd",
168   - "count",
169   - "delay",
170   - "ledState",
171   - "$mcmProtocolLevel",
172   - "$eapProtocolLevel",
173   - "$eapBuildDate",
174   - "$fileIndexReset",
175   - "$schemaHash",
176   - "$resourceCount",
177   - "$mobileRssi",
178   - "$mcmDisconnect",
179   - "$activeGroup"
180   - ],
181   - "attributes": {
182   - "description": "Blinker, the hello world program for mobile control",
183   - "version": "1.0.0"
184   - },
185   - "resourceNamesApp": [
186   - "cmd",
187   - "count",
188   - "delay",
189   - "ledState"
190   - ],
191   - "types": {
192   - "@emmoco.com.Blinker/LedState": {
193   - "values": [
194   - "LED_OFF",
195   - "LED_ON"
196   - ],
197   - "align": 1,
198   - "pack": 1,
199   - "type": "E:@emmoco.com.Blinker/LedState",
200   - "size": 1
201   - },
202   - "system@emmoco.com.System/ResourceCount": {
203   - "packed": false,
204   - "align": 1,
205   - "type": "S:system@emmoco.com.System/ResourceCount",
206   - "size": 2,
207   - "fields": [
208   - {
209   - "pad": 0,
210   - "align": 1,
211   - "name": "app",
212   - "type": "u1",
213   - "size": 1
214   - },
215   - {
216   - "pad": 0,
217   - "align": 1,
218   - "name": "sys",
219   - "type": "u1",
220   - "size": 1
221   - }
222   - ]
223   - },
224   - "std:i2": {
225   - "align": 2,
226   - "size": 2
227   - },
228   - "std:i1": {
229   - "align": 1,
230   - "size": 1
231   - },
232   - "std:u1": {
233   - "align": 1,
234   - "size": 1
235   - },
236   - "system@emmoco.com.System/ParameterGroup": {
237   - "values": [
238   - "GROUP_A",
239   - "GROUP_B"
240   - ],
241   - "align": 1,
242   - "pack": 1,
243   - "type": "E:system@emmoco.com.System/ParameterGroup",
244   - "size": 1
245   - },
246   - "@emmoco.com.Blinker/Cmd": {
247   - "values": [
248   - "START_CMD",
249   - "STOP_CMD"
250   - ],
251   - "align": 1,
252   - "pack": 1,
253   - "type": "E:@emmoco.com.Blinker/Cmd",
254   - "size": 1
255   - },
256   - "std:u2": {
257   - "align": 2,
258   - "size": 2
259   - }
260   - },
261   - "imports": {"@emmoco.com.Blinker": true}
262   -}
263 0 \ No newline at end of file
BlinkerSchema/Schema-Imports/system@emmoco.com/System.ems deleted
1   -owner = "system@emmoco.com"
2   -
3   -schema System {
4   -
5   - // protocolLevel #13
6   -
7   - enum ParameterGroup {
8   - GROUP_A, GROUP_B
9   - }
10   -
11   - // protocolLevel #1
12   -
13   - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
14   - readonly
15   - }
16   -
17   - uint16 $mcmProtocolLevel {
18   - readonly
19   - }
20   -
21   - uint16 $eapProtocolLevel {
22   - readonly
23   - }
24   -
25   - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
26   - readonly
27   - }
28   -
29   - // protocolLevel #2
30   -
31   - int16 $fileIndexReset {
32   - writeonly
33   - }
34   -
35   - // protocolLevel #5
36   -
37   - // protocolLevel #12 -- increase size to 20
38   -
39   - uint8 $schemaHash[20] {
40   - readonly
41   - }
42   -
43   - // protocolLevel #7
44   -
45   - struct ResourceCount {
46   - uint8 app
47   - uint8 sys
48   - }
49   -
50   - ResourceCount $resourceCount {
51   - readonly
52   - }
53   -
54   - // protocolLevel #9
55   -
56   - int8 $mobileRssi {
57   - readonly
58   - }
59   -
60   - // protocolLevel #11
61   -
62   - uint8 $mcmDisconnect {
63   - writeonly
64   - }
65   -
66   - // protocolLevel #13
67   -
68   - ParameterGroup $activeGroup {
69   - readwrite
70   - }
71   -
72   -}
BlinkerSchema/bundle.properties deleted
1   -# generated file - do not edit
2   -
3   -bundle.requires = com.emmoco.schema.translator
4   -com.emmoco.framework.Properties.applicationDirectory = Em
5   -com.emmoco.framework.Properties.schemaDestinationDirectory = Em
6   -com.emmoco.framework.Properties.serverAPIToken =
7   -com.emmoco.framework.Properties.align16 = 2
8   -com.emmoco.framework.Properties.align32 = 4
9   -com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/durex/BlinkerSchema/schema.ems
10   -com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909
BlinkerSchema/imports/system@emmoco.com/System.ems deleted
1   -owner = "system@emmoco.com"
2   -
3   -schema System {
4   -
5   - // protocolLevel #1
6   -
7   - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
8   - readonly
9   - }
10   -
11   - uint16 $mcmProtocolLevel {
12   - readonly
13   - }
14   -
15   - uint16 $eapProtocolLevel {
16   - readonly
17   - }
18   -
19   - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
20   - readonly
21   - }
22   -
23   - // protocolLevel #2
24   -
25   - int16 $fileIndexReset {
26   - writeonly
27   - }
28   -
29   - // protocolLevel #5
30   -
31   - // protocolLevel #12 -- increase size to 20
32   -
33   - uint8 $schemaHash[20] {
34   - readonly
35   - }
36   -
37   - // protocolLevel #7
38   -
39   - struct ResourceCount {
40   - uint8 app
41   - uint8 sys
42   - }
43   -
44   - ResourceCount $resourceCount {
45   - readonly
46   - }
47   -
48   - // protocolLevel #9
49   -
50   - int8 $mobileRssi {
51   - readonly
52   - }
53   -
54   - // protocolLevel #11
55   -
56   - uint8 $mcmDisconnect {
57   - writeonly
58   - }
59   -
60   -}
BlinkerSchema/out/Blinker-TODO.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#include "Blinker.h"
5   -
6   -#ifdef Em_Blinker_TODO /* enables optional inclusion of empty functions */
7   -
8   -/* Copy the function skeletons below into your own Blinker.c source file */
9   -
10   -void Blinker_connectHandler(void) {
11   - /* TODO: application is now connected */
12   -}
13   -
14   -void Blinker_disconnectHandler(void) {
15   - /* TODO: application is now disconnected */
16   -}
17   -
18   -void Blinker_cmd_store(Blinker_cmd_t* const input) {
19   - /* TODO: read resource 'cmd' from 'input' */
20   -}
21   -
22   -void Blinker_count_fetch(Blinker_count_t* const output) {
23   - /* TODO: write resource 'count' into 'output' */
24   -}
25   -
26   -void Blinker_count_store(Blinker_count_t* const input) {
27   - /* TODO: read resource 'count' from 'input' */
28   -}
29   -
30   -void Blinker_delay_fetch(Blinker_delay_t* const output) {
31   - /* TODO: write resource 'delay' into 'output' */
32   -}
33   -
34   -void Blinker_delay_store(Blinker_delay_t* const input) {
35   - /* TODO: read resource 'delay' from 'input' */
36   -}
37   -
38   -void Blinker_ledState_fetch(Blinker_ledState_t* const output) {
39   - /* TODO: write resource 'ledState' into 'output' */
40   -}
41   -
42   -#endif /* dummy file */
BlinkerSchema/out/Blinker.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#include "Em_Message.h"
5   -#include "Blinker.h"
6   -
7   -#ifdef __cplusplus
8   -extern "C" {
9   -#endif
10   -
11   -#define Em_Message_protocolLevel 12
12   -
13   -typedef struct Em_App_Message {
14   - uint8_t dummy;
15   - uint8_t sot;
16   - Em_Message_Header hdr;
17   - uint8_t data[20];
18   -} Em_App_Message;
19   -
20   -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))};
21   -
22   -const uint8_t Em_App_build[] = {70, 123, 11, 227, 69, 1, 0, 0};
23   -
24   -#define Em_App_APP_RESOURCE_COUNT 4
25   -#define Em_App_SYS_RESOURCE_COUNT 8
26   -
27   -#define Em_App_ACCEPT Blinker_accept
28   -#define Em_App_DISCONNECT Blinker_disconnect
29   -#define Em_App_PAIRINGON Blinker_pairingOn
30   -#define Em_App_PAIRINGOFF Blinker_pairingOff
31   -#define Em_App_RESET Blinker_reset
32   -#define Em_App_RUN Blinker_run
33   -
34   -#define Em_App_CONNECTHANDLER Blinker_connectHandler
35   -#define Em_App_DISCONNECTHANDLER Blinker_disconnectHandler
36   -
37   -#define Em_App_MAX_INDICATOR 2
38   -
39   -enum {Em_App_IDLE, Em_App_DISCONNECTED, Em_App_CONNECTED};
40   -
41   -typedef struct Em_App_Indicator {
42   - uint8_t dummy;
43   - uint8_t sot;
44   - Em_Message_Header hdr;
45   - uint8_t data[Em_Message_INDSIZE];
46   -} Em_App_Indicator;
47   -
48   -void (*Em_App_pdHdlr)(void);
49   -
50   -const uint16_t Em_App_endian = 0x0100;
51   -
52   -Em_Message_Size Em_App_recvIdx;
53   -Em_Message_Size Em_App_recvSize;
54   -Em_Message_Size Em_App_xmitIdx;
55   -Em_Message_Size Em_App_xmitSize;
56   -
57   -uint8_t Em_App_state = Em_App_IDLE;
58   -Em_App_Message Em_App_msg;
59   -Em_App_Indicator Em_App_ind;
60   -bool Em_App_moreData = false;
61   -bool Em_App_readIdle = true;
62   -int32_t Em_App_fileIndex;
63   -uint32_t Em_App_xmitMask;
64   -
65   -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
66   -uint8_t* Em_App_outBuf;
67   -
68   -void Em_App_fetchDispatch(void);
69   -void Em_App_storeDispatch(void);
70   -void Em_App_sendIndicator(Em_Message_ResId indId);
71   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
72   -void Em_App_startIndSend(void);
73   -void Em_App_startResSend(void);
74   -void Em_App_sysFetchDispatch(void);
75   -void Em_App_sysStoreDispatch(void);
76   -bool Em_App_xmitReady(Em_Message_ResId indId);
77   -
78   -bool Em_Message_addByte(uint8_t b) {
79   - if (Em_App_readIdle && b) {
80   - Em_App_recvSize = Em_App_inBuf[0] = b;
81   - Em_App_recvIdx = 1;
82   - Em_App_readIdle = false;
83   - return false;
84   - }
85   - Em_App_inBuf[Em_App_recvIdx++] = b;
86   - if (Em_App_recvIdx < Em_App_recvSize) {
87   - return false;
88   - }
89   - Em_App_readIdle = true;
90   - return true;
91   -}
92   -
93   -bool Em_Message_getByte(uint8_t* bp) {
94   - uint8_t key = Em_Message_lock();
95   - Em_App_moreData = (Em_App_xmitSize != 0);
96   - if (!Em_App_moreData && (Em_App_xmitMask != 0)) {
97   - uint8_t i;
98   - uint32_t m;
99   - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
100   - if (Em_App_xmitMask & m) {
101   - Em_App_xmitMask &= ~m;
102   - if (i == 0) {
103   - Em_App_startResSend();
104   - }
105   - else {
106   - Em_App_sendIndicator(i);
107   - }
108   - break;
109   - }
110   - }
111   - Em_Message_unlock(key);
112   - return false;
113   - }
114   - else if (Em_App_moreData) {
115   - *bp = Em_App_outBuf[Em_App_xmitIdx++];
116   - Em_App_xmitSize -= 1;
117   - }
118   - Em_Message_unlock(key);
119   - return Em_App_moreData;
120   -}
121   -
122   -void Em_App_ACCEPT(bool enable) {
123   - if (Em_App_state == Em_App_CONNECTED) {
124   - return;
125   - }
126   - Em_App_ind.sot = 0;
127   - Em_App_ind.hdr.kind = Em_Message_ACCEPT;
128   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
129   - Em_App_ind.hdr.resId = enable;
130   - Em_App_startIndSend();
131   -}
132   -
133   -void Em_App_DISCONNECT(void) {
134   - if (Em_App_state != Em_App_CONNECTED) {
135   - return;
136   - }
137   - Em_App_state = Em_App_DISCONNECTED;
138   - Em_App_ind.sot = 0;
139   - Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
140   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
141   - Em_App_ind.hdr.resId = 0;
142   - Em_App_startIndSend();
143   -}
144   -
145   -void Em_Message_dispatch(void) {
146   - if (Em_App_state == Em_App_IDLE) {
147   - return;
148   - }
149   - switch (Em_App_msg.hdr.kind) {
150   - case Em_Message_CONNECT:
151   - Em_App_state = Em_App_CONNECTED;
152   - Em_App_CONNECTHANDLER();
153   - break;
154   - case Em_Message_DISCONNECT:
155   - Em_App_state = Em_App_DISCONNECTED;
156   - Em_App_DISCONNECTHANDLER();
157   - break;
158   - case Em_Message_PAIRING_DONE:
159   - if (Em_App_pdHdlr) {
160   - (*Em_App_pdHdlr)();
161   - }
162   - break;
163   - case Em_Message_FETCH:
164   - if (Em_App_msg.hdr.resId > 0) {
165   - Em_App_fetchDispatch();
166   - }
167   - else {
168   - Em_App_sysFetchDispatch();
169   - }
170   - break;
171   - case Em_Message_STORE:
172   - if (Em_App_msg.hdr.resId > 0) {
173   - Em_App_storeDispatch();
174   - }
175   - else {
176   - Em_App_sysStoreDispatch();
177   - }
178   - break;
179   - }
180   -}
181   -
182   -void Em_App_PAIRINGOFF(void(*handler)(void)) {
183   - Em_App_PAIRINGON(0, handler);
184   -}
185   -
186   -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
187   - if (Em_App_state != Em_App_DISCONNECTED) {
188   - return;
189   - }
190   - Em_App_pdHdlr = handler;
191   - Em_App_ind.sot = 0;
192   - Em_App_ind.hdr.kind = Em_Message_PAIRING;
193   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
194   - Em_App_ind.hdr.resId = secs;
195   - Em_App_startIndSend();
196   -}
197   -
198   -void Em_App_RESET(void) {
199   - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
200   - Em_App_state = Em_App_IDLE;
201   - Em_App_moreData = false;
202   - Em_App_readIdle = true;
203   - Em_App_fileIndex = 0;
204   - Em_App_xmitMask = 0;
205   -}
206   -
207   -void Em_App_RUN(void) {
208   - Em_App_state = Em_App_DISCONNECTED;
209   -}
210   -
211   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
212   - if (Em_App_state != Em_App_CONNECTED) {
213   - return;
214   - }
215   - Em_App_msg.sot = 0;
216   - Em_App_msg.hdr.kind = kind;
217   - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
218   - if (Em_App_xmitReady(0)) {
219   - Em_App_startResSend();
220   - }
221   -}
222   -
223   -void Em_App_startIndSend(void) {
224   - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
225   - Em_App_xmitSize = Em_App_ind.hdr.size + 1;
226   - Em_App_xmitIdx = 0;
227   - Em_Message_startSend();
228   -}
229   -
230   -void Em_App_startResSend(void) {
231   - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
232   - Em_App_xmitSize = Em_App_msg.hdr.size + 1;
233   - Em_App_xmitIdx = 0;
234   - Em_Message_startSend();
235   -}
236   -
237   -void Em_App_sysFetchDispatch(void) {
238   - uint8_t size = 0;
239   - int i;
240   - switch (Em_App_msg.hdr.resId) {
241   - case Em_Message_SYS_SCHEMA_HASH:
242   - for (i = 0; i < sizeof (Em_App_hash); i++) {
243   - Em_App_msg.data[i] = Em_App_hash[i];
244   - }
245   - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
246   - size = sizeof (Em_App_hash) + 1;
247   - break;
248   - case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
249   - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
250   - size = sizeof (Em_Message_protocolLevel_t);
251   - break;
252   - case Em_Message_SYS_EAP_BUILD_DATE:
253   - for (i = 0; i < sizeof (Em_App_build); i++) {
254   - Em_App_msg.data[i] = Em_App_build[i];
255   - }
256   - size = sizeof (Em_App_build);
257   - break;
258   - case Em_Message_SYS_RESOURCE_COUNT:
259   - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
260   - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
261   - size = 2;
262   - break;
263   - }
264   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
265   -}
266   -
267   -void Em_App_sysStoreDispatch(void) {
268   - switch (Em_App_msg.hdr.resId) {
269   - case Em_Message_SYS_FILE_INDEX_RESET:
270   - Em_App_fileIndex = 0;
271   - break;
272   - }
273   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
274   -}
275   -
276   -bool Em_App_xmitReady(Em_Message_ResId indId) {
277   - uint8_t key = Em_Message_lock();
278   - bool res = !Em_App_moreData && Em_App_xmitMask == 0;
279   - if (!res) {
280   - Em_App_xmitMask |= (1 << indId);
281   - }
282   - Em_Message_unlock(key);
283   - return res;
284   -}
285   -
286   -void Em_App_fetchDispatch(void) {
287   - uint8_t size = 0;
288   - switch (Em_App_msg.hdr.resId) {
289   - case 0:
290   - break;
291   - case 2:
292   - Blinker_count_fetch((Blinker_count_t*)Em_App_msg.data);
293   - size = 2;
294   - break;
295   - case 3:
296   - Blinker_delay_fetch((Blinker_delay_t*)Em_App_msg.data);
297   - size = 2;
298   - break;
299   - case 4:
300   - Blinker_ledState_fetch((Blinker_ledState_t*)Em_App_msg.data);
301   - size = 1;
302   - break;
303   - }
304   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
305   -}
306   -
307   -void Em_App_storeDispatch(void) {
308   - switch (Em_App_msg.hdr.resId) {
309   - case 0:
310   - break;
311   - case 1:
312   - Blinker_cmd_store((Blinker_cmd_t*)Em_App_msg.data);
313   - break;
314   - case 2:
315   - Blinker_count_store((Blinker_count_t*)Em_App_msg.data);
316   - break;
317   - case 3:
318   - Blinker_delay_store((Blinker_delay_t*)Em_App_msg.data);
319   - break;
320   - }
321   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
322   -}
323   -
324   -void Em_App_sendIndicator(Em_Message_ResId indId) {
325   - Em_Message_Size resId = 0;
326   - Em_Message_Size size = 0;
327   - switch (indId) {
328   - case 1:
329   - Blinker_ledState_fetch((Blinker_ledState_t*)&Em_App_ind.data);
330   - resId = 4;
331   - size = 1;
332   - break;
333   -}
334   - Em_App_ind.sot = 0;
335   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
336   - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size;
337   - Em_App_ind.hdr.resId = resId;
338   - Em_App_startIndSend();
339   -}
340   -
341   -void Blinker_ledState_indicate(void) {
342   - if (Em_App_state != Em_App_IDLE && Em_App_xmitReady(1)) Em_App_sendIndicator(1);
343   -}
344   -
345   -#ifdef __cplusplus
346   -}
347   -#endif
348   -
BlinkerSchema/out/Blinker.h deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-05-10T00:12:31T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#ifndef Blinker__H
5   -#define Blinker__H
6   -
7   -#include "Em_Types.h"
8   -#include "Em_Message.h"
9   -
10   -#ifdef __cplusplus
11   -extern "C" {
12   -#endif
13   -
14   -/* enum Cmd */
15   -typedef uint8_t Blinker_Cmd;
16   -#define Blinker_START_CMD 0
17   -#define Blinker_STOP_CMD 1
18   -
19   -/* enum LedState */
20   -typedef uint8_t Blinker_LedState;
21   -#define Blinker_LED_OFF 0
22   -#define Blinker_LED_ON 1
23   -
24   -/* resource cmd */
25   -typedef Blinker_Cmd Blinker_cmd_t;
26   -extern void Blinker_cmd_store(Blinker_cmd_t* const input);
27   -
28   -/* resource count */
29   -typedef int16_t Blinker_count_t;
30   -extern void Blinker_count_fetch(Blinker_count_t* const output);
31   -extern void Blinker_count_store(Blinker_count_t* const input);
32   -
33   -/* resource delay */
34   -typedef uint16_t Blinker_delay_t;
35   -#define Blinker_delay_min 500
36   -#define Blinker_delay_max 2000
37   -#define Blinker_delay_step 100
38   -extern void Blinker_delay_fetch(Blinker_delay_t* const output);
39   -extern void Blinker_delay_store(Blinker_delay_t* const input);
40   -
41   -/* resource ledState */
42   -typedef Blinker_LedState Blinker_ledState_t;
43   -extern void Blinker_ledState_fetch(Blinker_ledState_t* const output);
44   -extern void Blinker_ledState_indicate(void);
45   -
46   -void Blinker_reset(void);
47   -void Blinker_run(void);
48   -
49   -void Blinker_accept(bool enable);
50   -void Blinker_disconnect(void);
51   -void Blinker_pairingOn(uint8_t secs, void(*handler)(void));
52   -void Blinker_pairingOff(void(*handler)(void));
53   -
54   -void Blinker_connectHandler(void);
55   -void Blinker_disconnectHandler(void);
56   -
57   -#ifdef __cplusplus
58   -}
59   -#endif
60   -
61   -#endif /* Blinker__H */
BlinkerSchema/out/Blinker.zip deleted
No preview for this file type
BlinkerSchema/out/Em_Message.h deleted
1   -#ifndef Em_Message_H_
2   -#define Em_Message_H_
3   -
4   -#include "Em_Types.h"
5   -
6   -#ifdef __cplusplus
7   -extern "C" {
8   -#endif
9   -
10   -/* protocolLevel #4 */
11   -#define Em_Message_INDSIZE 4
12   -
13   -typedef uint8_t Em_Message_Size;
14   -typedef uint8_t Em_Message_Kind;
15   -/* protocolLevel #12 -- split 16-bit resId into <resId, chan> */
16   -typedef int8_t Em_Message_ResId;
17   -typedef uint8_t Em_Message_Chan;
18   -
19   -#define Em_Message_NOP 0
20   -#define Em_Message_FETCH 1
21   -#define Em_Message_FETCH_DONE 2
22   -#define Em_Message_STORE 3
23   -#define Em_Message_STORE_DONE 4
24   -#define Em_Message_INDICATOR 5
25   -#define Em_Message_CONNECT 6
26   -#define Em_Message_DISCONNECT 7
27   -#define Em_Message_ECHO 8
28   -/* protocolLevel #3 */
29   -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
30   -#define Em_Message_PAIRING 9
31   -#define Em_Message_PAIRING_DONE 10
32   -/* protocolLevel #7 */
33   -#define Em_Message_OFFLINE 11
34   -/* protocolLevel #8 */
35   -#define Em_Message_ACCEPT 12
36   -
37   -typedef struct Em_Message_Header {
38   - Em_Message_Size size;
39   - Em_Message_Kind kind;
40   - Em_Message_ResId resId;
41   - Em_Message_Chan chan;
42   -} Em_Message_Header;
43   -
44   -typedef uint16_t Em_Message_protocolLevel_t;
45   -
46   -/* protocolLevel #1 */
47   -
48   -/* protocolLevel #10 */
49   -/* #define Em_Message_SYS_SCHEMA_UUID -1 */
50   -
51   -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL -2
52   -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL -3
53   -#define Em_Message_SYS_EAP_BUILD_DATE -4
54   -
55   -/* protocolLevel #2 */
56   -#define Em_Message_SYS_FILE_INDEX_RESET -5
57   -
58   -/* protocolLevel #5 */
59   -#define Em_Message_SYS_SCHEMA_HASH -6
60   -
61   -/* protocolLevel #7 */
62   -#define Em_Message_SYS_RESOURCE_COUNT -7
63   -
64   -/* protocolLevel #9 */
65   -#define Em_Message_SYS_MOBILE_RSSI -8
66   -
67   -/* protocolLevel #11 */
68   -#define Em_Message_SYS_MCM_DISCONNECT -9
69   -
70   -extern void Em_Message_init(void);
71   -
72   -extern bool Em_Message_addByte(uint8_t b);
73   -extern void Em_Message_dispatch(void);
74   -extern bool Em_Message_getByte(uint8_t *bp);
75   -extern uint8_t Em_Message_lock(void);
76   -extern void Em_Message_startSend(void);
77   -extern void Em_Message_unlock(uint8_t key);
78   -
79   -#ifdef __cplusplus
80   -}
81   -#endif
82   -
83   -#endif /*Em_Message_H_*/
BlinkerSchema/out/Em_Types.h deleted
1   -#ifndef Em_Types_H_
2   -#define Em_Types_H_
3   -
4   -#ifndef EM_NOSTDBOOL
5   -#include <stdbool.h>
6   -#endif
7   -
8   -#ifndef EM_NOSTDINT
9   -#include <stdint.h>
10   -#endif
11   -
12   -#endif /*Em_Types_H_*/
BlinkerSchema/out/blinker.json deleted
1   -{
2   - "resources": {
3   - "$schemaHash": {
4   - "id": -6,
5   - "align": 1,
6   - "attributes": {"readonly": true},
7   - "type": "A20:u1",
8   - "access": "r",
9   - "size": 20
10   - },
11   - "$eapProtocolLevel": {
12   - "id": -3,
13   - "align": 2,
14   - "attributes": {"readonly": true},
15   - "type": "u2",
16   - "access": "r",
17   - "size": 2
18   - },
19   - "cmd": {
20   - "id": 1,
21   - "align": 1,
22   - "attributes": {"writeonly": true},
23   - "type": "E:@emmoco.com.Blinker/Cmd",
24   - "access": "w",
25   - "size": 1
26   - },
27   - "$mcmProtocolLevel": {
28   - "id": -2,
29   - "align": 2,
30   - "attributes": {"readonly": true},
31   - "type": "u2",
32   - "access": "r",
33   - "size": 2
34   - },
35   - "count": {
36   - "id": 2,
37   - "align": 2,
38   - "attributes": {"readwrite": true},
39   - "type": "i2",
40   - "access": "rw",
41   - "size": 2
42   - },
43   - "$mobileRssi": {
44   - "id": -8,
45   - "align": 1,
46   - "attributes": {"readonly": true},
47   - "type": "i1",
48   - "access": "r",
49   - "size": 1
50   - },
51   - "$mcmDisconnect": {
52   - "id": -9,
53   - "align": 1,
54   - "attributes": {"writeonly": true},
55   - "type": "u1",
56   - "access": "w",
57   - "size": 1
58   - },
59   - "delay": {
60   - "id": 3,
61   - "align": 2,
62   - "attributes": {"readwrite": true},
63   - "type": "N:0.500000,2.000000,0.100000,3/u2",
64   - "access": "rw",
65   - "size": 2
66   - },
67   - "$eapBuildDate": {
68   - "id": -4,
69   - "align": 1,
70   - "attributes": {"readonly": true},
71   - "type": "A8:u1",
72   - "access": "r",
73   - "size": 8
74   - },
75   - "$resourceCount": {
76   - "id": -7,
77   - "align": 1,
78   - "attributes": {"readonly": true},
79   - "type": "S:system@emmoco.com.System/ResourceCount",
80   - "access": "r",
81   - "size": 2
82   - },
83   - "ledState": {
84   - "id": 4,
85   - "align": 1,
86   - "attributes": {
87   - "indicator": true,
88   - "readonly": true
89   - },
90   - "type": "E:@emmoco.com.Blinker/LedState",
91   - "access": "ir",
92   - "size": 1
93   - },
94   - "$fileIndexReset": {
95   - "id": -5,
96   - "align": 2,
97   - "attributes": {"writeonly": true},
98   - "type": "i2",
99   - "access": "w",
100   - "size": 2
101   - }
102   - },
103   - "resourceNamesSys": [
104   - "$eapBuildDate",
105   - "$eapProtocolLevel",
106   - "$fileIndexReset",
107   - "$mcmDisconnect",
108   - "$mcmProtocolLevel",
109   - "$mobileRssi",
110   - "$resourceCount",
111   - "$schemaHash"
112   - ],
113   - "manifest": {
114   - "protocolLevel": 12,
115   - "hash": [
116   - 194,
117   - 8,
118   - 191,
119   - 173,
120   - 237,
121   - 198,
122   - 193,
123   - 165,
124   - 88,
125   - 202,
126   - 74,
127   - 246,
128   - 70,
129   - 59,
130   - 102,
131   - 128
132   - ],
133   - "toolVersion": "12.0.0.201211010336",
134   - "name": "Blinker",
135   - "$$md5": "73d98dc6eb4c17eea377d5969c0e49d2",
136   - "build": [
137   - 70,
138   - 123,
139   - 11,
140   - 227,
141   - 69,
142   - 1,
143   - 0,
144   - 0
145   - ],
146   - "date": "2014-05-10T00:12:31T",
147   - "maxAlign": 2,
148   - "maxSize": 20,
149   - "version": "1.0.0"
150   - },
151   - "resourceNames": [
152   - "cmd",
153   - "count",
154   - "delay",
155   - "ledState",
156   - "$mcmProtocolLevel",
157   - "$eapProtocolLevel",
158   - "$eapBuildDate",
159   - "$fileIndexReset",
160   - "$schemaHash",
161   - "$resourceCount",
162   - "$mobileRssi",
163   - "$mcmDisconnect"
164   - ],
165   - "attributes": {
166   - "description": "Blinker, the hello world program for mobile control",
167   - "version": "1.0.0"
168   - },
169   - "types": {
170   - "@emmoco.com.Blinker/LedState": {
171   - "values": [
172   - "LED_OFF",
173   - "LED_ON"
174   - ],
175   - "align": 1,
176   - "type": "E:@emmoco.com.Blinker/LedState",
177   - "size": 1
178   - },
179   - "system@emmoco.com.System/ResourceCount": {
180   - "align": 1,
181   - "type": "S:system@emmoco.com.System/ResourceCount",
182   - "size": 2,
183   - "fields": [
184   - {
185   - "pad": 0,
186   - "align": 1,
187   - "name": "app",
188   - "type": "u1",
189   - "size": 1
190   - },
191   - {
192   - "pad": 0,
193   - "align": 1,
194   - "name": "sys",
195   - "type": "u1",
196   - "size": 1
197   - }
198   - ]
199   - },
200   - "std:i2": {
201   - "align": 2,
202   - "size": 2
203   - },
204   - "std:i1": {
205   - "align": 1,
206   - "size": 1
207   - },
208   - "std:u1": {
209   - "align": 1,
210   - "size": 1
211   - },
212   - "@emmoco.com.Blinker/Cmd": {
213   - "values": [
214   - "START_CMD",
215   - "STOP_CMD"
216   - ],
217   - "align": 1,
218   - "type": "E:@emmoco.com.Blinker/Cmd",
219   - "size": 1
220   - },
221   - "std:u2": {
222   - "align": 2,
223   - "size": 2
224   - }
225   - },
226   - "resourceNamesApp": [
227   - "cmd",
228   - "count",
229   - "delay",
230   - "ledState"
231   - ],
232   - "imports": {"@emmoco.com.Blinker": true}
233   -}
234 0 \ No newline at end of file
BlinkerSchema/schema.ems deleted
1   -version = "1.0.0"
2   -description = "Blinker, the hello world program for mobile control"
3   -
4   -schema Blinker {
5   -
6   - /* -------- resource cmd -------- */
7   - enum Cmd {
8   - START_CMD, STOP_CMD
9   - }
10   - Cmd cmd {
11   - writeonly
12   - }
13   -
14   - /* -------- resource count -------- */
15   - int16 count {
16   - readwrite
17   - }
18   -
19   - /* -------- resource delay -------- */
20   - num <0.5, 2.0, 0.100> delay {
21   - readwrite
22   - }
23   -
24   - /* -------- resource ledState -------- */
25   - enum LedState {
26   - LED_OFF, LED_ON
27   - }
28   - LedState ledState {
29   - readonly
30   - indicator
31   - }
32   -}
CommonLaunchPad/.externalToolConfigurations/LaunchPad Application.launch deleted
1   -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2   -<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
3   -<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
4   -<mapAttribute key="org.eclipse.debug.core.environmentVariables">
5   -<mapEntry key="PATH" value="${eclipse_home}/msptools/bin${system_property:path.separator}${env_var:PATH}"/>
6   -</mapAttribute>
7   -<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
8   -<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
9   -</listAttribute>
10   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${project}"/>
11   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}/emmoco/msptools/bin/gmake${exe_ext}"/>
12   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="load COMMON=${project_loc:/CommonLaunchPad}"/>
13   -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/>
14   -</launchConfiguration>
CommonLaunchPad/rules.mk deleted
1   -MCU = msp430g2553
2   -
3   -CC = msp430-gcc
4   -OBJCOPY = msp430-objcopy
5   -SIZE = msp430-size
6   -MSPDEBUG = mspdebug
7   -MSP430FLASHER = MSP430Flasher
8   -EMBUILDER = #em-builder
9   -COPTS = -Os -Wall -fno-strict-aliasing -c -g -mmcu=$(MCU)
10   -LDOPTS = -mmcu=$(MCU) -Wl,-Map=main.map
11   -
12   -EMSOUT = $(SCHEMA)/out
13   -RMFILES = *.out *.map *.hex *.obj
14   -CFLAGS = -I$(COMMON) -I$(EMSOUT) $(COPTS)
15   -LDFLAGS = $(LDOPTS)
16   -VPATH = $(COMMON)
17   -OUTFILE = main.out
18   -
19   -all: $(OUTFILE)
20   -
21   -ifeq (,$(findstring Windows,$(OS)))
22   -load: out-check
23   - $(MSPDEBUG) rf2500 "prog $(OUTFILE)" 2>&1
24   -else
25   -load: $(OUTFILE:.out=.hex)
26   - $(MSP430FLASHER) -i USB -m AUTO -e ERASE_MAIN -n $(MCU) -w $< -v -z [VCC] -g
27   -endif
28   -
29   -$(OUTFILE): $(OBJECTS)
30   - $(CC) $(LDFLAGS) -o $@ $^
31   - $(SIZE) $@
32   -
33   -%.hex: out-check
34   - $(OBJCOPY) -O ihex $(@:.hex=.out) $@
35   -
36   -%.obj: %.c $(EMSOUT)/$(EMSNAME).h
37   - $(CC) $(CFLAGS) -o $@ $<
38   -
39   -$(EMSNAME).obj: $(EMSOUT)/$(EMSNAME).c $(EMSOUT)/$(EMSNAME).h
40   - $(CC) $(CFLAGS) -o $@ $<
41   -
42   -$(EMSOUT)/$(EMSNAME).h: $(SCHEMA)/schema.ems
43   - $(EMBUILDER) -v --root=$(<D) $<
44   -
45   -local-clean:
46   -ifeq (,$(findstring Windows,$(OS)))
47   - rm -f $(RMFILES)
48   -else
49   -ifneq (,$(wildcard $(RMFILES)))
50   - cmd /c del /q $(wildcard $(RMFILES))
51   -endif
52   -endif
53   -
54   -clean: local-clean
55   -ifeq (,$(findstring Windows,$(OS)))
56   - rm -rf $(EMSOUT)
57   -else
58   -ifneq (,$(wildcard $(EMSOUT)))
59   - cmd /c rmdir /q /s $(subst /,\,$(EMSOUT))
60   -endif
61   -endif
62   -
63   -out-check:
64   -ifeq (,$(wildcard $(OUTFILE)))
65   - @echo error: $(OUTFILE): No such file or directory 1>&2
66   - @exit 1
67   -endif
68   -
69   -.PHONY: all load clean local-clean out-check
DUREX Vendor Control/CommunicationProtocol.m
... ... @@ -129,7 +129,7 @@
129 129 numBytes = remainingBytes;
130 130 remainingBytes = 0;
131 131 }
132   - [[EMConnectionManager sharedManager] writeValue:[NSNumber numberWithUnsignedChar:(unsigned char)numBytes] toResource:@"data" onSuccess:^
  132 + [[EMConnectionManager sharedManager] writeValue:[NSNumber numberWithUnsignedChar:(unsigned char)numBytes] toResource:@"numBytes" onSuccess:^
133 133 {
134 134 status = TRUE;
135 135 }
... ...
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... ... @@ -25,7 +25,7 @@
25 25 symbolName = "+[CommunicationProtocol sharedProtocol]"
26 26 moduleName = "DUREX Vendor Control"
27 27 urlString = "file://localhost/Users/imanol/devel/durex/DUREX%20Vendor%20Control/CommunicationProtocol.m"
28   - timestampString = "426429770.784755"
  28 + timestampString = "428340358.431629"
29 29 startingColumnNumber = "9223372036854775807"
30 30 endingColumnNumber = "9223372036854775807"
31 31 startingLineNumber = "20"
... ... @@ -39,7 +39,7 @@
39 39 symbolName = "__39+[CommunicationProtocol sharedProtocol]_block_invoke"
40 40 moduleName = "DUREX Vendor Control"
41 41 urlString = "file://localhost/Users/imanol/devel/durex/DUREX%20Vendor%20Control/CommunicationProtocol.m"
42   - timestampString = "426429770.78569"
  42 + timestampString = "428340358.432031"
43 43 startingColumnNumber = "9223372036854775807"
44 44 endingColumnNumber = "9223372036854775807"
45 45 startingLineNumber = "20"
... ...
DUREX/.project deleted
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<projectDescription>
3   - <name>DUREX</name>
4   - <comment></comment>
5   - <projects>
6   - </projects>
7   - <buildSpec>
8   - <buildCommand>
9   - <name>com.emmoco.mcmtooling.core.mcmToolingBuilder</name>
10   - <arguments>
11   - </arguments>
12   - </buildCommand>
13   - </buildSpec>
14   - <natures>
15   - <nature>com.emmoco.mcmtooling.core.mcmToolingNature</nature>
16   - </natures>
17   -</projectDescription>
DUREX/Em/DUREX-STUBS.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#include "DUREX.h"
5   -
6   -#ifdef DUREX_STUBS_ /* enables optional inclusion of application stubs */
7   -
8   -/* Copy the function skeletons below into your own application source file */
9   -
10   -void DUREX_connectHandler(void) {
11   - /* TODO: application is now connected */
12   -}
13   -
14   -void DUREX_disconnectHandler(void) {
15   - /* TODO: application is now disconnected */
16   -}
17   -
18   -void DUREX_numBytes_fetch(DUREX_numBytes_t* output) {
19   - /* TODO: read resource 'numBytes' into 'output' */
20   -}
21   -
22   -void DUREX_numBytes_store(DUREX_numBytes_t* input) {
23   - /* TODO: write resource 'numBytes' from 'input' */
24   -}
25   -
26   -void DUREX_data_fetch(DUREX_data_t output) {
27   - /* TODO: read resource 'data' into 'output' */
28   -}
29   -
30   -void DUREX_data_store(DUREX_data_t input) {
31   - /* TODO: write resource 'data' from 'input' */
32   -}
33   -
34   -void DUREX_numPackets_fetch(DUREX_numPackets_t* output) {
35   - /* TODO: read resource 'numPackets' into 'output' */
36   -}
37   -
38   -void DUREX_numPackets_store(DUREX_numPackets_t* input) {
39   - /* TODO: write resource 'numPackets' from 'input' */
40   -}
41   -
42   -void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* output) {
43   - /* TODO: read resource 'messageAvailable' into 'output' */
44   -}
45   -
46   -#endif /* application stubs */
DUREX/Em/DUREX.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#include "Em_Message.h"
5   -#include "DUREX.h"
6   -
7   -#ifdef __cplusplus
8   -extern "C" {
9   -#endif
10   -
11   -#define Em_Message_protocolLevel 13
12   -
13   -typedef struct Em_App_Message {
14   - uint8_t dummy[3];
15   - uint8_t sot;
16   - Em_Message_Header hdr;
17   - uint8_t data[229];
18   -} Em_App_Message;
19   -
20   -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))};
21   -
22   -const uint8_t Em_App_build[] = {208, 202, 48, 251, 69, 1, 0, 0};
23   -
24   -#define Em_App_APP_RESOURCE_COUNT 4
25   -#define Em_App_SYS_RESOURCE_COUNT 9
26   -
27   -#define Em_App_ACCEPT DUREX_accept
28   -#define Em_App_ACTIVATEPARAMETERS DUREX_activateParameters
29   -#define Em_App_BROADCASTOFF DUREX_broadcastOff
30   -#define Em_App_DISCONNECT DUREX_disconnect
31   -#define Em_App_PAIRINGON DUREX_pairingOn
32   -#define Em_App_PAIRINGOFF DUREX_pairingOff
33   -#define Em_App_RESET DUREX_reset
34   -#define Em_App_SETDEVICENAME DUREX_setDeviceName
35   -#define Em_App_START DUREX_start
36   -
37   -#define Em_App_CONNECTHANDLER DUREX_connectHandler
38   -#define Em_App_DISCONNECTHANDLER DUREX_disconnectHandler
39   -
40   -#define Em_App_MAX_INDICATOR 2
41   -
42   -/* BEGIN common code */
43   -
44   -enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED};
45   -
46   -typedef struct Em_App_Indicator {
47   - uint8_t dummy[3];
48   - uint8_t sot;
49   - Em_Message_Header hdr;
50   - uint8_t data[Em_Message_INDSIZE];
51   -} Em_App_Indicator;
52   -
53   -union { uint32_t align; Em_App_Message msg; } Em_App_msg_u;
54   -union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u;
55   -#define Em_App_msg Em_App_msg_u.msg
56   -#define Em_App_ind Em_App_ind_u.ind
57   -
58   -void (*Em_App_pdHdlr)(void);
59   -
60   -const uint16_t Em_App_endian = 0x0100;
61   -
62   -Em_Message_Size Em_App_recvIdx;
63   -Em_Message_Size Em_App_recvSize;
64   -Em_Message_Size Em_App_xmitIdx;
65   -Em_Message_Size Em_App_xmitSize;
66   -
67   -uint8_t Em_App_state = Em_App_IDLE;
68   -int32_t Em_App_fileIndex = 0;
69   -uint32_t Em_App_xmitMask = 0;
70   -
71   -uint8_t* Em_App_valp;
72   -uint8_t* Em_App_bufp;
73   -const char* Em_App_desc;
74   -
75   -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
76   -uint8_t* Em_App_outBuf = 0;
77   -
78   -uint8_t* _Em_Message_rxBuf = 0;
79   -uint8_t _Em_Message_rxCnt = 0;
80   -
81   -uint8_t* _Em_Message_txBuf = 0;
82   -uint8_t _Em_Message_txCnt = 0;
83   -
84   -#define Em_App_DEVNAME_LEN 9
85   -const char* Em_App_devName = 0;
86   -
87   -void Em_App_fetchDispatch(void);
88   -void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc);
89   -void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc);
90   -void Em_App_storeDispatch(void);
91   -void Em_App_sendIndicator(Em_Message_ResId indId);
92   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
93   -void Em_App_startIndSend(void);
94   -void Em_App_startResSend(void);
95   -void Em_App_sysFetchDispatch(void);
96   -void Em_App_sysStoreDispatch(void);
97   -bool Em_App_xmitReady(Em_Message_ResId indId);
98   -
99   -void Em_Message_nextXmit(void) {
100   - uint8_t key = Em_Hal_lock();
101   - if (Em_App_xmitMask != 0) {
102   - uint8_t i;
103   - uint32_t m;
104   - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
105   - if (Em_App_xmitMask & m) {
106   - Em_App_xmitMask &= ~m;
107   - if (i == 0) {
108   - Em_App_startResSend();
109   - }
110   - else {
111   - Em_App_sendIndicator(i - 1);
112   - }
113   - break;
114   - }
115   - }
116   - }
117   - Em_Hal_unlock(key);
118   -}
119   -
120   -void Em_Message_restart(void) {
121   - Em_App_START();
122   -}
123   -
124   -void Em_App_ACCEPT(bool enable) {
125   - if (Em_App_state == Em_App_CONNECTED) {
126   - return;
127   - }
128   - Em_App_ind.sot = 0;
129   - Em_App_ind.hdr.kind = Em_Message_ACCEPT;
130   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
131   - Em_App_ind.hdr.resId = enable;
132   - Em_App_startIndSend();
133   -}
134   -
135   -void Em_App_ACTIVATEPARAMETERS(uint8_t group) {
136   - if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) {
137   - return;
138   - }
139   - Em_App_ind.sot = 0;
140   - Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS;
141   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
142   - Em_App_ind.hdr.resId = group;
143   - Em_App_startIndSend();
144   -}
145   -
146   -void Em_App_BROADCASTOFF(void) {
147   - Em_App_ind.sot = 0;
148   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
149   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
150   - Em_App_ind.hdr.resId = 0;
151   - Em_App_startIndSend();
152   -}
153   -
154   -void Em_App_DISCONNECT(void) {
155   - if (Em_App_state != Em_App_CONNECTED) {
156   - return;
157   - }
158   - Em_App_state = Em_App_DISCONNECTED;
159   - Em_App_ind.sot = 0;
160   - Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
161   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
162   - Em_App_ind.hdr.resId = 0;
163   - Em_App_startIndSend();
164   -}
165   -
166   -void Em_Message_dispatch(void) {
167   - if (Em_App_state == Em_App_IDLE) {
168   - return;
169   - }
170   - switch (Em_App_msg.hdr.kind) {
171   - case Em_Message_CONNECT:
172   - Em_App_state = Em_App_CONNECTED;
173   - Em_App_CONNECTHANDLER();
174   - break;
175   - case Em_Message_DISCONNECT:
176   - Em_App_state = Em_App_DISCONNECTED;
177   - Em_App_DISCONNECTHANDLER();
178   - break;
179   - case Em_Message_PAIRING_DONE:
180   - if (Em_App_pdHdlr) {
181   - (*Em_App_pdHdlr)();
182   - }
183   - break;
184   - case Em_Message_FETCH:
185   - if (Em_App_msg.hdr.resId < 0x80) {
186   - Em_App_fetchDispatch();
187   - }
188   - else {
189   - Em_App_sysFetchDispatch();
190   - }
191   - break;
192   - case Em_Message_STORE:
193   - if (Em_App_msg.hdr.resId < 0x80) {
194   - Em_App_storeDispatch();
195   - }
196   - else {
197   - Em_App_sysStoreDispatch();
198   - }
199   - break;
200   - }
201   -}
202   -
203   -void Em_App_marshallToBuf() {
204   - char ch;
205   - while ((ch = *Em_App_desc++)) {
206   - switch (ch) {
207   - case '0' : {
208   - *Em_App_bufp++ = 0;
209   - break;
210   - }
211   - case '1' : {
212   - *Em_App_bufp++ = *Em_App_valp & 0xFF;
213   - break;
214   - }
215   - case '2' : {
216   - uint16_t v16 = *(uint16_t*)Em_App_valp;
217   - *Em_App_bufp++ = v16 & 0xFF;
218   - *Em_App_bufp++ = (v16 >> 8) & 0xFF;
219   - break;
220   - }
221   - case '4' : {
222   - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
223   - uint32_t v32 = *(uint32_t*)Em_App_valp++;
224   - *Em_App_bufp++ = v32 & 0xFF;
225   - *Em_App_bufp++ = (v32 >> 8) & 0xFF;
226   - *Em_App_bufp++ = (v32 >> 16) & 0xFF;
227   - *Em_App_bufp++ = (v32 >> 24) & 0xFF;
228   - break;
229   - }
230   - }
231   - Em_App_valp += 1;
232   - }
233   -}
234   -
235   -void Em_App_marshallToVal() {
236   - char ch;
237   - while ((ch = *Em_App_desc++)) {
238   - switch (ch) {
239   - case '0' : {
240   - *Em_App_valp = 0;
241   - Em_App_bufp += 1;
242   - break;
243   - }
244   - case '1' : {
245   - *Em_App_valp = *Em_App_bufp++ & 0xFF;
246   - break;
247   - }
248   - case '2' : {
249   - uint16_t v16 = *Em_App_bufp++ & 0xFF;
250   - v16 |= (*Em_App_bufp++ << 8);
251   - *(uint16_t*)Em_App_valp = v16;
252   - break;
253   - }
254   - case '4' : {
255   - if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
256   - uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF;
257   - v32 |= ((uint32_t)*Em_App_bufp++ << 8);
258   - v32 |= ((uint32_t)*Em_App_bufp++ << 16);
259   - v32 |= ((uint32_t)*Em_App_bufp++ << 24);
260   - *(uint32_t*)Em_App_valp++ = v32;
261   - break;
262   - }
263   - }
264   - Em_App_valp += 1;
265   - }
266   -}
267   -
268   -void Em_App_PAIRINGOFF(void(*handler)(void)) {
269   - Em_App_PAIRINGON(0, handler);
270   -}
271   -
272   -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
273   - if (Em_App_state != Em_App_DISCONNECTED) {
274   - return;
275   - }
276   - Em_App_pdHdlr = handler;
277   - Em_App_ind.sot = 0;
278   - Em_App_ind.hdr.kind = Em_Message_PAIRING;
279   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
280   - Em_App_ind.hdr.resId = secs;
281   - Em_App_startIndSend();
282   -}
283   -
284   -void Em_App_RESET(void) {
285   - Em_Hal_reset();
286   - _Em_Message_rxBuf = _Em_Message_txBuf = 0;
287   - _Em_Message_rxCnt = _Em_Message_txCnt = 0;
288   - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
289   - Em_App_state = Em_App_IDLE;
290   - Em_App_fileIndex = 0;
291   - Em_App_xmitMask = 0;
292   -}
293   -
294   -void Em_App_SETDEVICENAME(const char* name) {
295   - Em_App_devName = name;
296   -}
297   -
298   -void Em_App_START(void) {
299   - Em_App_RESET();
300   - Em_App_state = Em_App_STARTING;
301   -}
302   -
303   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
304   - if (Em_App_state != Em_App_IDLE) {
305   - Em_App_msg.sot = 0;
306   - Em_App_msg.hdr.kind = kind;
307   - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
308   - if (Em_App_xmitReady(0)) {
309   - Em_App_startResSend();
310   - }
311   - }
312   -}
313   -
314   -void Em_App_startIndSend(void) {
315   - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
316   - Em_App_xmitSize = Em_App_ind.hdr.size + 1;
317   - Em_App_xmitIdx = 0;
318   - Em_Hal_startSend();
319   -}
320   -
321   -void Em_App_startResSend(void) {
322   - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
323   - Em_App_xmitSize = Em_App_msg.hdr.size + 1;
324   - Em_App_xmitIdx = 0;
325   - Em_Hal_startSend();
326   -}
327   -
328   -void Em_App_sysFetchDispatch(void) {
329   - uint8_t size = 0;
330   - int i, j;
331   - switch (Em_App_msg.hdr.resId) {
332   - case Em_Message_SYS_SCHEMA_HASH:
333   - for (i = 0; i < sizeof (Em_App_hash); i++) {
334   - Em_App_msg.data[i] = Em_App_hash[i];
335   - }
336   - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
337   - size = sizeof (Em_App_hash) + 1;
338   - break;
339   - case Em_Message_SYS_MCM_NAME:
340   - if (Em_App_devName) {
341   - for (i = 0; i < Em_App_DEVNAME_LEN; i++) {
342   - if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) {
343   - break;
344   - }
345   - }
346   - for (j = i; j < Em_App_DEVNAME_LEN; j++) {
347   - Em_App_msg.data[j] = 0;
348   - }
349   - size = Em_App_DEVNAME_LEN;
350   - }
351   - break;
352   - case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
353   - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
354   - size = sizeof (Em_Message_protocolLevel_t);
355   - break;
356   - case Em_Message_SYS_EAP_BUILD_DATE:
357   - for (i = 0; i < sizeof (Em_App_build); i++) {
358   - Em_App_msg.data[i] = Em_App_build[i];
359   - }
360   - size = sizeof (Em_App_build);
361   - break;
362   - case Em_Message_SYS_RESOURCE_COUNT:
363   - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
364   - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
365   - size = 2;
366   - break;
367   - }
368   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
369   -}
370   -
371   -void Em_App_sysStoreDispatch(void) {
372   - switch (Em_App_msg.hdr.resId) {
373   - case Em_Message_SYS_FILE_INDEX_RESET:
374   - Em_App_fileIndex = 0;
375   - break;
376   - }
377   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
378   -}
379   -
380   -bool Em_App_xmitReady(Em_Message_ResId indId) {
381   - uint8_t key = Em_Hal_lock();
382   - bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0;
383   - if (!res) {
384   - Em_App_xmitMask |= (1 << indId);
385   - }
386   - Em_Hal_unlock(key);
387   - return res;
388   -}
389   -
390   -/* END common code */
391   -
392   -void Em_App_fetchDispatch(void) {
393   - uint8_t size = 0;
394   - switch (Em_App_msg.hdr.resId) {
395   - case 0: {
396   - break;
397   - }
398   - case 1: {
399   -#ifdef Em_16BIT
400   - DUREX_numBytes_t val;
401   - Em_App_valp = (uint8_t*)&val;
402   - Em_App_bufp = Em_App_msg.data;
403   - Em_App_desc = "1";
404   - DUREX_numBytes_fetch(&val);
405   - Em_App_marshallToBuf();
406   -#else
407   - DUREX_numBytes_fetch((void*)Em_App_msg.data);
408   -#endif
409   - size = 1;
410   - break;
411   - }
412   - case 2: {
413   -#ifdef Em_16BIT
414   - DUREX_data_t val;
415   - Em_App_valp = (uint8_t*)&val;
416   - Em_App_bufp = Em_App_msg.data;
417   - Em_App_desc = "*\xe5[1]";
418   - DUREX_data_fetch(&val);
419   - Em_App_marshallToBuf();
420   -#else
421   - DUREX_data_fetch((void*)Em_App_msg.data);
422   -#endif
423   - size = 229;
424   - break;
425   - }
426   - case 3: {
427   -#ifdef Em_16BIT
428   - DUREX_numPackets_t val;
429   - Em_App_valp = (uint8_t*)&val;
430   - Em_App_bufp = Em_App_msg.data;
431   - Em_App_desc = "1";
432   - DUREX_numPackets_fetch(&val);
433   - Em_App_marshallToBuf();
434   -#else
435   - DUREX_numPackets_fetch((void*)Em_App_msg.data);
436   -#endif
437   - size = 1;
438   - break;
439   - }
440   - case 4: {
441   -#ifdef Em_16BIT
442   - DUREX_messageAvailable_t val;
443   - Em_App_valp = (uint8_t*)&val;
444   - Em_App_bufp = Em_App_msg.data;
445   - Em_App_desc = "1";
446   - DUREX_messageAvailable_fetch(&val);
447   - Em_App_marshallToBuf();
448   -#else
449   - DUREX_messageAvailable_fetch((void*)Em_App_msg.data);
450   -#endif
451   - size = 1;
452   - break;
453   - }
454   - }
455   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
456   -}
457   -
458   -void Em_App_storeDispatch(void) {
459   - switch (Em_App_msg.hdr.resId) {
460   - case 0: {
461   - break;
462   - }
463   - case 1: {
464   -#ifdef Em_16BIT
465   - DUREX_numBytes_t val;
466   - Em_App_valp = (uint8_t*)&val;
467   - Em_App_bufp = Em_App_msg.data;
468   - Em_App_desc = "1";
469   - Em_App_marshallToVal();
470   - DUREX_numBytes_store(&val);
471   -#else
472   - DUREX_numBytes_store((void*)Em_App_msg.data);
473   -#endif
474   - break;
475   - }
476   - case 2: {
477   -#ifdef Em_16BIT
478   - DUREX_data_t val;
479   - Em_App_valp = (uint8_t*)&val;
480   - Em_App_bufp = Em_App_msg.data;
481   - Em_App_desc = "*\xe5[1]";
482   - Em_App_marshallToVal();
483   - DUREX_data_store(&val);
484   -#else
485   - DUREX_data_store((void*)Em_App_msg.data);
486   -#endif
487   - break;
488   - }
489   - case 3: {
490   -#ifdef Em_16BIT
491   - DUREX_numPackets_t val;
492   - Em_App_valp = (uint8_t*)&val;
493   - Em_App_bufp = Em_App_msg.data;
494   - Em_App_desc = "1";
495   - Em_App_marshallToVal();
496   - DUREX_numPackets_store(&val);
497   -#else
498   - DUREX_numPackets_store((void*)Em_App_msg.data);
499   -#endif
500   - break;
501   - }
502   - }
503   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
504   -}
505   -
506   -void Em_App_sendIndicator(Em_Message_ResId indId) {
507   - Em_Message_Size resId = 0;
508   - Em_Message_Size size = 0;
509   - switch (indId) {
510   - case 1: {
511   -#ifdef Em_16BIT
512   - DUREX_messageAvailable_t val;
513   - Em_App_valp = (uint8_t*)&val;
514   - Em_App_bufp = Em_App_ind.data;
515   - Em_App_desc = "1";
516   - DUREX_messageAvailable_fetch(&val);
517   - Em_App_marshallToBuf();
518   -#else
519   - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)&Em_App_ind.data);
520   -#endif
521   - resId = 4;
522   - size = 1;
523   - break;
524   - }
525   - }
526   - Em_App_ind.sot = 0;
527   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
528   - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size;
529   - Em_App_ind.hdr.resId = resId;
530   - Em_App_startIndSend();
531   -}
532   -
533   -void DUREX_messageAvailable_indicate(void) {
534   - if (Em_App_state == Em_App_CONNECTED && Em_App_xmitReady(1 + 1)) Em_App_sendIndicator(1);
535   -}
536   -
537   -#ifdef __cplusplus
538   -}
539   -#endif
540   -
DUREX/Em/DUREX.h deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T16:44:10T ****/
2   -/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
3   -
4   -#ifndef DUREX__H
5   -#define DUREX__H
6   -
7   -#include "Em_Types.h"
8   -#include "Em_Message.h"
9   -
10   -#ifdef __cplusplus
11   -extern "C" {
12   -#endif
13   -
14   -/* -------- connection callback functions implemented by the application -------- */
15   -
16   -void DUREX_connectHandler(void);
17   -void DUREX_disconnectHandler(void);
18   -
19   -/* -------- resource types defined in the schema -------- */
20   -
21   -/* typedef String */
22   -typedef char DUREX_String[229];
23   -#define DUREX_String_length 229
24   -
25   -/* enum BOOLEAN */
26   -typedef uint8_t DUREX_BOOLEAN;
27   -#define DUREX_TRUE 0
28   -#define DUREX_FALSE 1
29   -
30   -/* -------- resource callback functions implemented by the application -------- */
31   -
32   -/* resource numBytes */
33   -typedef uint8_t DUREX_numBytes_t;
34   -extern void DUREX_numBytes_fetch(DUREX_numBytes_t* output);
35   -extern void DUREX_numBytes_store(DUREX_numBytes_t* input);
36   -
37   -/* resource data */
38   -typedef DUREX_String DUREX_data_t;
39   -extern void DUREX_data_fetch(DUREX_data_t output);
40   -extern void DUREX_data_store(DUREX_data_t input);
41   -
42   -/* resource numPackets */
43   -typedef uint8_t DUREX_numPackets_t;
44   -extern void DUREX_numPackets_fetch(DUREX_numPackets_t* output);
45   -extern void DUREX_numPackets_store(DUREX_numPackets_t* input);
46   -
47   -/* resource messageAvailable */
48   -typedef DUREX_BOOLEAN DUREX_messageAvailable_t;
49   -extern void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* output);
50   -extern void DUREX_messageAvailable_indicate(void); /* called by the application */
51   -
52   -/* -------- application functions implemented in DUREX.c -------- */
53   -
54   -void DUREX_accept(bool enable);
55   -void DUREX_activateParameters(uint8_t group);
56   -void DUREX_broadcastOff(void);
57   -void DUREX_disconnect(void);
58   -void DUREX_pairingOn(uint8_t secs, void(*handler)(void));
59   -void DUREX_pairingOff(void(*handler)(void));
60   -void DUREX_reset(void);
61   -void DUREX_setDeviceName(const char* name);
62   -void DUREX_start(void);
63   -
64   -#ifdef __cplusplus
65   -}
66   -#endif
67   -
68   -#endif /* DUREX__H */
DUREX/Em/Em_Message.h deleted
1   -#ifndef Em_Message_H_
2   -#define Em_Message_H_
3   -
4   -#include "Em_Types.h"
5   -
6   -#ifdef __cplusplus
7   -extern "C" {
8   -#endif
9   -
10   -/* -------- SRT FUNCTIONS CALLED BY HAL -------- */
11   -
12   -static inline bool Em_Message_addByte(uint8_t b);
13   -extern void Em_Message_dispatch(void);
14   -static inline bool Em_Message_getByte(uint8_t* bp);
15   -extern void Em_Message_restart(void);
16   -static inline bool Em_Message_startRx(void);
17   -static inline uint8_t Em_Message_startTx(void);
18   -
19   -
20   -/* -------- HAL FUNCTIONS CALLED BY SRT -------- */
21   -
22   -extern uint8_t Em_Hal_lock(void);
23   -extern void Em_Hal_reset(void);
24   -extern void Em_Hal_startSend(void);
25   -extern void Em_Hal_unlock(uint8_t key);
26   -extern void Em_Hal_watchOff(void);
27   -extern void Em_Hal_watchOn(void);
28   -
29   -
30   -/* -------- MESSAGE FORMAT -------- */
31   -
32   -/* protocolLevel #4 */
33   -#define Em_Message_INDSIZE 4
34   -
35   -typedef uint8_t Em_Message_Size;
36   -typedef uint8_t Em_Message_Kind;
37   -/* protocolLevel #12 -- split 16-bit resId into <resId, chan> */
38   -typedef uint8_t Em_Message_ResId;
39   -typedef uint8_t Em_Message_Chan;
40   -
41   -#define Em_Message_NOP 0
42   -#define Em_Message_FETCH 1
43   -#define Em_Message_FETCH_DONE 2
44   -#define Em_Message_STORE 3
45   -#define Em_Message_STORE_DONE 4
46   -#define Em_Message_INDICATOR 5
47   -#define Em_Message_CONNECT 6
48   -#define Em_Message_DISCONNECT 7
49   -#define Em_Message_ECHO 8
50   -/* protocolLevel #3 */
51   -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
52   -#define Em_Message_PAIRING 9
53   -#define Em_Message_PAIRING_DONE 10
54   -/* protocolLevel #7 */
55   -#define Em_Message_OFFLINE 11
56   -/* protocolLevel #8 */
57   -#define Em_Message_ACCEPT 12
58   -/* protocolLevel #13 */
59   -#define Em_Message_START 13
60   -#define Em_Message_ACTIVE_PARAMS 14
61   -
62   -typedef struct Em_Message_Header {
63   - Em_Message_Size size;
64   - Em_Message_Kind kind;
65   - Em_Message_ResId resId;
66   - Em_Message_Chan chan;
67   -} Em_Message_Header;
68   -
69   -typedef uint16_t Em_Message_protocolLevel_t;
70   -
71   -/* protocolLevel #1 */
72   -
73   -/* protocolLevel #10 */
74   -/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */
75   -
76   -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE
77   -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD
78   -#define Em_Message_SYS_EAP_BUILD_DATE 0xFC
79   -
80   -/* protocolLevel #2 */
81   -#define Em_Message_SYS_FILE_INDEX_RESET 0xFB
82   -
83   -/* protocolLevel #5 */
84   -#define Em_Message_SYS_SCHEMA_HASH 0xFA
85   -
86   -/* protocolLevel #7 */
87   -#define Em_Message_SYS_RESOURCE_COUNT 0xF9
88   -
89   -/* protocolLevel #9 */
90   -#define Em_Message_SYS_MOBILE_RSSI 0xF8
91   -
92   -/* protocolLevel #11 */
93   -#define Em_Message_SYS_MCM_DISCONNECT 0xF7
94   -
95   -/* protocolLevel #13a */
96   -#define Em_Message_SYS_MCM_NAME 0xF5
97   -
98   -
99   -/* -------- PRIVATE -------- */
100   -
101   -extern void Em_Message_nextXmit(void);
102   -
103   -extern uint8_t* Em_App_inBuf;
104   -extern uint8_t* Em_App_outBuf;
105   -extern Em_Message_Size Em_App_xmitSize;
106   -
107   -extern uint8_t* _Em_Message_rxBuf;
108   -extern uint8_t _Em_Message_rxCnt;
109   -
110   -extern uint8_t* _Em_Message_txBuf;
111   -extern uint8_t _Em_Message_txCnt;
112   -
113   -static inline bool Em_Message_addByte(uint8_t b) {
114   - if (_Em_Message_rxCnt == 0) {
115   - if (b == 0) {
116   - return false;
117   - }
118   - _Em_Message_rxCnt = b;
119   - }
120   - *_Em_Message_rxBuf++ = b;
121   - if (--_Em_Message_rxCnt == 0) {
122   - _Em_Message_rxBuf = 0;
123   - if (_Em_Message_txBuf == 0) {
124   - Em_Hal_watchOff();
125   - }
126   - return true;
127   - }
128   - else {
129   - return false;
130   - }
131   -}
132   -
133   -static inline bool Em_Message_getByte(uint8_t* bp) {
134   - if (_Em_Message_txBuf == 0) {
135   - return false;
136   - }
137   - if (_Em_Message_txCnt == 0) {
138   - _Em_Message_txCnt = *_Em_Message_txBuf + 1;
139   - }
140   - if (--_Em_Message_txCnt > 0) {
141   - *bp = *_Em_Message_txBuf++;
142   - return true;
143   - }
144   - else {
145   - _Em_Message_txBuf = 0;
146   - Em_App_xmitSize = 0;
147   - Em_Message_nextXmit();
148   - if (_Em_Message_rxBuf == 0) {
149   - Em_Hal_watchOff();
150   - }
151   - return false;
152   - }
153   -}
154   -
155   -static inline bool Em_Message_startRx(void) {
156   - if (_Em_Message_rxBuf == 0) {
157   - _Em_Message_rxBuf = Em_App_inBuf;
158   - if (_Em_Message_txBuf == 0) {
159   - Em_Hal_watchOn();
160   - }
161   - return true;
162   - }
163   - else {
164   - return false;
165   - }
166   -}
167   -
168   -static inline uint8_t Em_Message_startTx(void) {
169   - _Em_Message_txBuf = Em_App_outBuf + 1;
170   - _Em_Message_txCnt = 0;
171   - if (_Em_Message_rxBuf == 0) {
172   - Em_Hal_watchOn();
173   - }
174   - return 0;
175   -}
176   -
177   -
178   -#ifdef __cplusplus
179   -}
180   -#endif
181   -
182   -#endif /*Em_Message_H_*/
DUREX/Em/Em_Types.h deleted
1   -#ifndef Em_Types_H_
2   -#define Em_Types_H_
3   -
4   -#ifndef Em_NOSTDBOOL
5   -#include <stdbool.h>
6   -#endif
7   -
8   -#ifndef Em_NOSTDINT
9   -#include <stdint.h>
10   -#endif
11   -
12   -#ifdef Em_16BIT
13   -typedef signed char int8_t;
14   -typedef unsigned char uint8_t;
15   -#endif
16   -
17   -#endif /*Em_Types_H_*/
DUREX/Em/durex.json deleted
1   -{
2   - "resources": {
3   - "$eapProtocolLevel": {
4   - "id": -3,
5   - "align": 2,
6   - "attributes": {"readonly": true},
7   - "type": "u2",
8   - "access": "r",
9   - "size": 2
10   - },
11   - "numBytes": {
12   - "id": 1,
13   - "align": 1,
14   - "attributes": {},
15   - "type": "u1",
16   - "access": "rw",
17   - "size": 1
18   - },
19   - "data": {
20   - "id": 2,
21   - "align": 1,
22   - "attributes": {},
23   - "type": "C:229",
24   - "access": "rw",
25   - "size": 229
26   - },
27   - "$activeGroup": {
28   - "id": -10,
29   - "align": 1,
30   - "pack": 1,
31   - "attributes": {"readwrite": true},
32   - "type": "E:system@emmoco.com.System/ParameterGroup",
33   - "access": "rw",
34   - "size": 1
35   - },
36   - "$mcmDisconnect": {
37   - "id": -9,
38   - "align": 1,
39   - "attributes": {"writeonly": true},
40   - "type": "u1",
41   - "access": "w",
42   - "size": 1
43   - },
44   - "$eapBuildDate": {
45   - "dim": 8,
46   - "id": -4,
47   - "align": 1,
48   - "attributes": {"readonly": true},
49   - "type": "A8:u1",
50   - "access": "r",
51   - "size": 8
52   - },
53   - "numPackets": {
54   - "id": 3,
55   - "align": 1,
56   - "attributes": {},
57   - "type": "u1",
58   - "access": "rw",
59   - "size": 1
60   - },
61   - "$resourceCount": {
62   - "id": -7,
63   - "align": 1,
64   - "attributes": {"readonly": true},
65   - "type": "S:system@emmoco.com.System/ResourceCount",
66   - "access": "r",
67   - "size": 2
68   - },
69   - "$schemaHash": {
70   - "dim": 20,
71   - "id": -6,
72   - "align": 1,
73   - "attributes": {"readonly": true},
74   - "type": "A20:u1",
75   - "access": "r",
76   - "size": 20
77   - },
78   - "messageAvailable": {
79   - "id": 4,
80   - "align": 1,
81   - "pack": 1,
82   - "attributes": {"indicator": true},
83   - "type": "E:@emmoco.com.DUREX/BOOLEAN",
84   - "access": "ir",
85   - "size": 1
86   - },
87   - "$mcmProtocolLevel": {
88   - "id": -2,
89   - "align": 2,
90   - "attributes": {"readonly": true},
91   - "type": "u2",
92   - "access": "r",
93   - "size": 2
94   - },
95   - "$mobileRssi": {
96   - "id": -8,
97   - "align": 1,
98   - "attributes": {"readonly": true},
99   - "type": "i1",
100   - "access": "r",
101   - "size": 1
102   - },
103   - "$fileIndexReset": {
104   - "id": -5,
105   - "align": 2,
106   - "attributes": {"writeonly": true},
107   - "type": "i2",
108   - "access": "w",
109   - "size": 2
110   - }
111   - },
112   - "resourceNamesSys": [
113   - "$activeGroup",
114   - "$eapBuildDate",
115   - "$eapProtocolLevel",
116   - "$fileIndexReset",
117   - "$mcmDisconnect",
118   - "$mcmProtocolLevel",
119   - "$mobileRssi",
120   - "$resourceCount",
121   - "$schemaHash"
122   - ],
123   - "manifest": {
124   - "protocolLevel": 13,
125   - "hash": [
126   - 28,
127   - 106,
128   - 83,
129   - 11,
130   - 248,
131   - 159,
132   - 192,
133   - 243,
134   - 66,
135   - 193,
136   - 233,
137   - 148,
138   - 55,
139   - 208,
140   - 191,
141   - 77
142   - ],
143   - "toolVersion": "13.4.1.201311121909",
144   - "name": "DUREX",
145   - "$$md5": "1c6a530bf89fc0f342c1e99437d0bf4d",
146   - "build": [
147   - 208,
148   - 202,
149   - 48,
150   - 251,
151   - 69,
152   - 1,
153   - 0,
154   - 0
155   - ],
156   - "date": "2014-05-14T16:44:10T",
157   - "maxAlign": 2,
158   - "maxSize": 229,
159   - "version": "1.0.0"
160   - },
161   - "resourceNames": [
162   - "numBytes",
163   - "data",
164   - "numPackets",
165   - "messageAvailable",
166   - "$mcmProtocolLevel",
167   - "$eapProtocolLevel",
168   - "$eapBuildDate",
169   - "$fileIndexReset",
170   - "$schemaHash",
171   - "$resourceCount",
172   - "$mobileRssi",
173   - "$mcmDisconnect",
174   - "$activeGroup"
175   - ],
176   - "attributes": {
177   - "description": "",
178   - "version": "1.0.0"
179   - },
180   - "resourceNamesApp": [
181   - "numBytes",
182   - "data",
183   - "numPackets",
184   - "messageAvailable"
185   - ],
186   - "types": {
187   - "system@emmoco.com.System/ResourceCount": {
188   - "packed": false,
189   - "align": 1,
190   - "type": "S:system@emmoco.com.System/ResourceCount",
191   - "size": 2,
192   - "fields": [
193   - {
194   - "pad": 0,
195   - "align": 1,
196   - "name": "app",
197   - "type": "u1",
198   - "size": 1
199   - },
200   - {
201   - "pad": 0,
202   - "align": 1,
203   - "name": "sys",
204   - "type": "u1",
205   - "size": 1
206   - }
207   - ]
208   - },
209   - "std:i2": {
210   - "align": 2,
211   - "size": 2
212   - },
213   - "std:i1": {
214   - "align": 1,
215   - "size": 1
216   - },
217   - "std:u1": {
218   - "align": 1,
219   - "size": 1
220   - },
221   - "@emmoco.com.DUREX/BOOLEAN": {
222   - "values": [
223   - "TRUE",
224   - "FALSE"
225   - ],
226   - "align": 1,
227   - "pack": 1,
228   - "type": "E:@emmoco.com.DUREX/BOOLEAN",
229   - "size": 1
230   - },
231   - "system@emmoco.com.System/ParameterGroup": {
232   - "values": [
233   - "GROUP_A",
234   - "GROUP_B"
235   - ],
236   - "align": 1,
237   - "pack": 1,
238   - "type": "E:system@emmoco.com.System/ParameterGroup",
239   - "size": 1
240   - },
241   - "std:u2": {
242   - "align": 2,
243   - "size": 2
244   - }
245   - },
246   - "imports": {"@emmoco.com.DUREX": true}
247   -}
248 0 \ No newline at end of file
DUREX/Schema-Imports/system@emmoco.com/System.ems deleted
1   -owner = "system@emmoco.com"
2   -
3   -schema System {
4   -
5   - // protocolLevel #13
6   -
7   - enum ParameterGroup {
8   - GROUP_A, GROUP_B
9   - }
10   -
11   - // protocolLevel #1
12   -
13   - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
14   - readonly
15   - }
16   -
17   - uint16 $mcmProtocolLevel {
18   - readonly
19   - }
20   -
21   - uint16 $eapProtocolLevel {
22   - readonly
23   - }
24   -
25   - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
26   - readonly
27   - }
28   -
29   - // protocolLevel #2
30   -
31   - int16 $fileIndexReset {
32   - writeonly
33   - }
34   -
35   - // protocolLevel #5
36   -
37   - // protocolLevel #12 -- increase size to 20
38   -
39   - uint8 $schemaHash[20] {
40   - readonly
41   - }
42   -
43   - // protocolLevel #7
44   -
45   - struct ResourceCount {
46   - uint8 app
47   - uint8 sys
48   - }
49   -
50   - ResourceCount $resourceCount {
51   - readonly
52   - }
53   -
54   - // protocolLevel #9
55   -
56   - int8 $mobileRssi {
57   - readonly
58   - }
59   -
60   - // protocolLevel #11
61   -
62   - uint8 $mcmDisconnect {
63   - writeonly
64   - }
65   -
66   - // protocolLevel #13
67   -
68   - ParameterGroup $activeGroup {
69   - readwrite
70   - }
71   -
72   -}
DUREX/bundle.properties deleted
1   -# generated file - do not edit
2   -
3   -bundle.requires = com.emmoco.schema.translator
4   -com.emmoco.framework.Properties.applicationDirectory = Em
5   -com.emmoco.framework.Properties.schemaDestinationDirectory = Em
6   -com.emmoco.framework.Properties.serverAPIToken =
7   -com.emmoco.framework.Properties.align16 = 2
8   -com.emmoco.framework.Properties.align32 = 4
9   -com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/durex/DUREX/schema.ems
10   -com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909
DUREX/imports/system@emmoco.com/System.ems deleted
1   -owner = "system@emmoco.com"
2   -
3   -schema System {
4   -
5   - // protocolLevel #1
6   -
7   - uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
8   - readonly
9   - }
10   -
11   - uint16 $mcmProtocolLevel {
12   - readonly
13   - }
14   -
15   - uint16 $eapProtocolLevel {
16   - readonly
17   - }
18   -
19   - uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
20   - readonly
21   - }
22   -
23   - // protocolLevel #2
24   -
25   - int16 $fileIndexReset {
26   - writeonly
27   - }
28   -
29   - // protocolLevel #5
30   -
31   - // protocolLevel #12 -- increase size to 20
32   -
33   - uint8 $schemaHash[20] {
34   - readonly
35   - }
36   -
37   - // protocolLevel #7
38   -
39   - struct ResourceCount {
40   - uint8 app
41   - uint8 sys
42   - }
43   -
44   - ResourceCount $resourceCount {
45   - readonly
46   - }
47   -
48   - // protocolLevel #9
49   -
50   - int8 $mobileRssi {
51   - readonly
52   - }
53   -
54   - // protocolLevel #11
55   -
56   - uint8 $mcmDisconnect {
57   - writeonly
58   - }
59   -
60   -}
DUREX/out/DUREX-TODO.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#include "DUREX.h"
5   -
6   -#ifdef Em_DUREX_TODO /* enables optional inclusion of empty functions */
7   -
8   -/* Copy the function skeletons below into your own DUREX.c source file */
9   -
10   -void DUREX_connectHandler(void) {
11   - /* TODO: application is now connected */
12   -}
13   -
14   -void DUREX_disconnectHandler(void) {
15   - /* TODO: application is now disconnected */
16   -}
17   -
18   -void DUREX_numBytes_fetch(DUREX_numBytes_t* const output) {
19   - /* TODO: write resource 'numBytes' into 'output' */
20   -}
21   -
22   -void DUREX_numBytes_store(DUREX_numBytes_t* const input) {
23   - /* TODO: read resource 'numBytes' from 'input' */
24   -}
25   -
26   -void DUREX_data_fetch(DUREX_data_t* const output) {
27   - /* TODO: write resource 'data' into 'output' */
28   -}
29   -
30   -void DUREX_data_store(DUREX_data_t* const input) {
31   - /* TODO: read resource 'data' from 'input' */
32   -}
33   -
34   -void DUREX_numPackets_fetch(DUREX_numPackets_t* const output) {
35   - /* TODO: write resource 'numPackets' into 'output' */
36   -}
37   -
38   -void DUREX_numPackets_store(DUREX_numPackets_t* const input) {
39   - /* TODO: read resource 'numPackets' from 'input' */
40   -}
41   -
42   -void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* const output) {
43   - /* TODO: write resource 'messageAvailable' into 'output' */
44   -}
45   -
46   -void DUREX_messageAvailable_store(DUREX_messageAvailable_t* const input) {
47   - /* TODO: read resource 'messageAvailable' from 'input' */
48   -}
49   -
50   -#endif /* dummy file */
DUREX/out/DUREX.c deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#include "Em_Message.h"
5   -#include "DUREX.h"
6   -
7   -#ifdef __cplusplus
8   -extern "C" {
9   -#endif
10   -
11   -#define Em_Message_protocolLevel 12
12   -
13   -typedef struct Em_App_Message {
14   - uint8_t dummy;
15   - uint8_t sot;
16   - Em_Message_Header hdr;
17   - uint8_t data[229];
18   -} Em_App_Message;
19   -
20   -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))};
21   -
22   -const uint8_t Em_App_build[] = {61, 15, 116, 250, 69, 1, 0, 0};
23   -
24   -#define Em_App_APP_RESOURCE_COUNT 4
25   -#define Em_App_SYS_RESOURCE_COUNT 8
26   -
27   -#define Em_App_ACCEPT DUREX_accept
28   -#define Em_App_DISCONNECT DUREX_disconnect
29   -#define Em_App_PAIRINGON DUREX_pairingOn
30   -#define Em_App_PAIRINGOFF DUREX_pairingOff
31   -#define Em_App_RESET DUREX_reset
32   -#define Em_App_RUN DUREX_run
33   -
34   -#define Em_App_CONNECTHANDLER DUREX_connectHandler
35   -#define Em_App_DISCONNECTHANDLER DUREX_disconnectHandler
36   -
37   -#define Em_App_MAX_INDICATOR 2
38   -
39   -enum {Em_App_IDLE, Em_App_DISCONNECTED, Em_App_CONNECTED};
40   -
41   -typedef struct Em_App_Indicator {
42   - uint8_t dummy;
43   - uint8_t sot;
44   - Em_Message_Header hdr;
45   - uint8_t data[Em_Message_INDSIZE];
46   -} Em_App_Indicator;
47   -
48   -void (*Em_App_pdHdlr)(void);
49   -
50   -const uint16_t Em_App_endian = 0x0100;
51   -
52   -Em_Message_Size Em_App_recvIdx;
53   -Em_Message_Size Em_App_recvSize;
54   -Em_Message_Size Em_App_xmitIdx;
55   -Em_Message_Size Em_App_xmitSize;
56   -
57   -uint8_t Em_App_state = Em_App_IDLE;
58   -Em_App_Message Em_App_msg;
59   -Em_App_Indicator Em_App_ind;
60   -bool Em_App_moreData = false;
61   -bool Em_App_readIdle = true;
62   -int32_t Em_App_fileIndex;
63   -uint32_t Em_App_xmitMask;
64   -
65   -uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
66   -uint8_t* Em_App_outBuf;
67   -
68   -void Em_App_fetchDispatch(void);
69   -void Em_App_storeDispatch(void);
70   -void Em_App_sendIndicator(Em_Message_ResId indId);
71   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
72   -void Em_App_startIndSend(void);
73   -void Em_App_startResSend(void);
74   -void Em_App_sysFetchDispatch(void);
75   -void Em_App_sysStoreDispatch(void);
76   -bool Em_App_xmitReady(Em_Message_ResId indId);
77   -
78   -bool Em_Message_addByte(uint8_t b) {
79   - if (Em_App_readIdle && b) {
80   - Em_App_recvSize = Em_App_inBuf[0] = b;
81   - Em_App_recvIdx = 1;
82   - Em_App_readIdle = false;
83   - return false;
84   - }
85   - Em_App_inBuf[Em_App_recvIdx++] = b;
86   - if (Em_App_recvIdx < Em_App_recvSize) {
87   - return false;
88   - }
89   - Em_App_readIdle = true;
90   - return true;
91   -}
92   -
93   -bool Em_Message_getByte(uint8_t* bp) {
94   - uint8_t key = Em_Message_lock();
95   - Em_App_moreData = (Em_App_xmitSize != 0);
96   - if (!Em_App_moreData && (Em_App_xmitMask != 0)) {
97   - uint8_t i;
98   - uint32_t m;
99   - for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
100   - if (Em_App_xmitMask & m) {
101   - Em_App_xmitMask &= ~m;
102   - if (i == 0) {
103   - Em_App_startResSend();
104   - }
105   - else {
106   - Em_App_sendIndicator(i);
107   - }
108   - break;
109   - }
110   - }
111   - Em_Message_unlock(key);
112   - return false;
113   - }
114   - else if (Em_App_moreData) {
115   - *bp = Em_App_outBuf[Em_App_xmitIdx++];
116   - Em_App_xmitSize -= 1;
117   - }
118   - Em_Message_unlock(key);
119   - return Em_App_moreData;
120   -}
121   -
122   -void Em_App_ACCEPT(bool enable) {
123   - if (Em_App_state == Em_App_CONNECTED) {
124   - return;
125   - }
126   - Em_App_ind.sot = 0;
127   - Em_App_ind.hdr.kind = Em_Message_ACCEPT;
128   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
129   - Em_App_ind.hdr.resId = enable;
130   - Em_App_startIndSend();
131   -}
132   -
133   -void Em_App_DISCONNECT(void) {
134   - if (Em_App_state != Em_App_CONNECTED) {
135   - return;
136   - }
137   - Em_App_state = Em_App_DISCONNECTED;
138   - Em_App_ind.sot = 0;
139   - Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
140   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
141   - Em_App_ind.hdr.resId = 0;
142   - Em_App_startIndSend();
143   -}
144   -
145   -void Em_Message_dispatch(void) {
146   - if (Em_App_state == Em_App_IDLE) {
147   - return;
148   - }
149   - switch (Em_App_msg.hdr.kind) {
150   - case Em_Message_CONNECT:
151   - Em_App_state = Em_App_CONNECTED;
152   - Em_App_CONNECTHANDLER();
153   - break;
154   - case Em_Message_DISCONNECT:
155   - Em_App_state = Em_App_DISCONNECTED;
156   - Em_App_DISCONNECTHANDLER();
157   - break;
158   - case Em_Message_PAIRING_DONE:
159   - if (Em_App_pdHdlr) {
160   - (*Em_App_pdHdlr)();
161   - }
162   - break;
163   - case Em_Message_FETCH:
164   - if (Em_App_msg.hdr.resId > 0) {
165   - Em_App_fetchDispatch();
166   - }
167   - else {
168   - Em_App_sysFetchDispatch();
169   - }
170   - break;
171   - case Em_Message_STORE:
172   - if (Em_App_msg.hdr.resId > 0) {
173   - Em_App_storeDispatch();
174   - }
175   - else {
176   - Em_App_sysStoreDispatch();
177   - }
178   - break;
179   - }
180   -}
181   -
182   -void Em_App_PAIRINGOFF(void(*handler)(void)) {
183   - Em_App_PAIRINGON(0, handler);
184   -}
185   -
186   -void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
187   - if (Em_App_state != Em_App_DISCONNECTED) {
188   - return;
189   - }
190   - Em_App_pdHdlr = handler;
191   - Em_App_ind.sot = 0;
192   - Em_App_ind.hdr.kind = Em_Message_PAIRING;
193   - Em_App_ind.hdr.size = sizeof (Em_Message_Header);
194   - Em_App_ind.hdr.resId = secs;
195   - Em_App_startIndSend();
196   -}
197   -
198   -void Em_App_RESET(void) {
199   - Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
200   - Em_App_state = Em_App_IDLE;
201   - Em_App_moreData = false;
202   - Em_App_readIdle = true;
203   - Em_App_fileIndex = 0;
204   - Em_App_xmitMask = 0;
205   -}
206   -
207   -void Em_App_RUN(void) {
208   - Em_App_state = Em_App_DISCONNECTED;
209   -}
210   -
211   -void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
212   - if (Em_App_state != Em_App_CONNECTED) {
213   - return;
214   - }
215   - Em_App_msg.sot = 0;
216   - Em_App_msg.hdr.kind = kind;
217   - Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
218   - if (Em_App_xmitReady(0)) {
219   - Em_App_startResSend();
220   - }
221   -}
222   -
223   -void Em_App_startIndSend(void) {
224   - Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
225   - Em_App_xmitSize = Em_App_ind.hdr.size + 1;
226   - Em_App_xmitIdx = 0;
227   - Em_Message_startSend();
228   -}
229   -
230   -void Em_App_startResSend(void) {
231   - Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
232   - Em_App_xmitSize = Em_App_msg.hdr.size + 1;
233   - Em_App_xmitIdx = 0;
234   - Em_Message_startSend();
235   -}
236   -
237   -void Em_App_sysFetchDispatch(void) {
238   - uint8_t size = 0;
239   - int i;
240   - switch (Em_App_msg.hdr.resId) {
241   - case Em_Message_SYS_SCHEMA_HASH:
242   - for (i = 0; i < sizeof (Em_App_hash); i++) {
243   - Em_App_msg.data[i] = Em_App_hash[i];
244   - }
245   - Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
246   - size = sizeof (Em_App_hash) + 1;
247   - break;
248   - case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
249   - *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
250   - size = sizeof (Em_Message_protocolLevel_t);
251   - break;
252   - case Em_Message_SYS_EAP_BUILD_DATE:
253   - for (i = 0; i < sizeof (Em_App_build); i++) {
254   - Em_App_msg.data[i] = Em_App_build[i];
255   - }
256   - size = sizeof (Em_App_build);
257   - break;
258   - case Em_Message_SYS_RESOURCE_COUNT:
259   - Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
260   - Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
261   - size = 2;
262   - break;
263   - }
264   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
265   -}
266   -
267   -void Em_App_sysStoreDispatch(void) {
268   - switch (Em_App_msg.hdr.resId) {
269   - case Em_Message_SYS_FILE_INDEX_RESET:
270   - Em_App_fileIndex = 0;
271   - break;
272   - }
273   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
274   -}
275   -
276   -bool Em_App_xmitReady(Em_Message_ResId indId) {
277   - uint8_t key = Em_Message_lock();
278   - bool res = !Em_App_moreData && Em_App_xmitMask == 0;
279   - if (!res) {
280   - Em_App_xmitMask |= (1 << indId);
281   - }
282   - Em_Message_unlock(key);
283   - return res;
284   -}
285   -
286   -void Em_App_fetchDispatch(void) {
287   - uint8_t size = 0;
288   - switch (Em_App_msg.hdr.resId) {
289   - case 0:
290   - break;
291   - case 1:
292   - DUREX_numBytes_fetch((DUREX_numBytes_t*)Em_App_msg.data);
293   - size = 1;
294   - break;
295   - case 2:
296   - DUREX_data_fetch((DUREX_data_t*)Em_App_msg.data);
297   - size = 229;
298   - break;
299   - case 3:
300   - DUREX_numPackets_fetch((DUREX_numPackets_t*)Em_App_msg.data);
301   - size = 1;
302   - break;
303   - case 4:
304   - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)Em_App_msg.data);
305   - size = 1;
306   - break;
307   - }
308   - Em_App_sendResponse(Em_Message_FETCH_DONE, size);
309   -}
310   -
311   -void Em_App_storeDispatch(void) {
312   - switch (Em_App_msg.hdr.resId) {
313   - case 0:
314   - break;
315   - case 1:
316   - DUREX_numBytes_store((DUREX_numBytes_t*)Em_App_msg.data);
317   - break;
318   - case 2:
319   - DUREX_data_store((DUREX_data_t*)Em_App_msg.data);
320   - break;
321   - case 3:
322   - DUREX_numPackets_store((DUREX_numPackets_t*)Em_App_msg.data);
323   - break;
324   - case 4:
325   - DUREX_messageAvailable_store((DUREX_messageAvailable_t*)Em_App_msg.data);
326   - break;
327   - }
328   - Em_App_sendResponse(Em_Message_STORE_DONE, 0);
329   -}
330   -
331   -void Em_App_sendIndicator(Em_Message_ResId indId) {
332   - Em_Message_Size resId = 0;
333   - Em_Message_Size size = 0;
334   - switch (indId) {
335   - case 1:
336   - DUREX_messageAvailable_fetch((DUREX_messageAvailable_t*)&Em_App_ind.data);
337   - resId = 4;
338   - size = 1;
339   - break;
340   -}
341   - Em_App_ind.sot = 0;
342   - Em_App_ind.hdr.kind = Em_Message_INDICATOR;
343   - Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size;
344   - Em_App_ind.hdr.resId = resId;
345   - Em_App_startIndSend();
346   -}
347   -
348   -void DUREX_messageAvailable_indicate(void) {
349   - if (Em_App_state != Em_App_IDLE && Em_App_xmitReady(1)) Em_App_sendIndicator(1);
350   -}
351   -
352   -#ifdef __cplusplus
353   -}
354   -#endif
355   -
DUREX/out/DUREX.h deleted
1   -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-05-14T13:18:01T ****/
2   -/**** protocolLevel = 12, toolsVersion = 12.0.0.201211010336 ****/
3   -
4   -#ifndef DUREX__H
5   -#define DUREX__H
6   -
7   -#include "Em_Types.h"
8   -#include "Em_Message.h"
9   -
10   -#ifdef __cplusplus
11   -extern "C" {
12   -#endif
13   -
14   -/* typedef String */
15   -typedef char DUREX_String;
16   -#define DUREX_String_length 229
17   -
18   -/* enum BOOLEAN */
19   -typedef uint8_t DUREX_BOOLEAN;
20   -#define DUREX_TRUE 0
21   -#define DUREX_FALSE 1
22   -
23   -/* resource numBytes */
24   -typedef uint8_t DUREX_numBytes_t;
25   -extern void DUREX_numBytes_fetch(DUREX_numBytes_t* const output);
26   -extern void DUREX_numBytes_store(DUREX_numBytes_t* const input);
27   -
28   -/* resource data */
29   -typedef DUREX_String DUREX_data_t[229];
30   -extern void DUREX_data_fetch(DUREX_data_t* const output);
31   -extern void DUREX_data_store(DUREX_data_t* const input);
32   -
33   -/* resource numPackets */
34   -typedef uint8_t DUREX_numPackets_t;
35   -extern void DUREX_numPackets_fetch(DUREX_numPackets_t* const output);
36   -extern void DUREX_numPackets_store(DUREX_numPackets_t* const input);
37   -
38   -/* resource messageAvailable */
39   -typedef DUREX_BOOLEAN DUREX_messageAvailable_t;
40   -extern void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* const output);
41   -extern void DUREX_messageAvailable_store(DUREX_messageAvailable_t* const input);
42   -extern void DUREX_messageAvailable_indicate(void);
43   -
44   -void DUREX_reset(void);
45   -void DUREX_run(void);
46   -
47   -void DUREX_accept(bool enable);
48   -void DUREX_disconnect(void);
49   -void DUREX_pairingOn(uint8_t secs, void(*handler)(void));
50   -void DUREX_pairingOff(void(*handler)(void));
51   -
52   -void DUREX_connectHandler(void);
53   -void DUREX_disconnectHandler(void);
54   -
55   -#ifdef __cplusplus
56   -}
57   -#endif
58   -
59   -#endif /* DUREX__H */
DUREX/out/DUREX.zip deleted
No preview for this file type
DUREX/out/Em_Message.h deleted
1   -#ifndef Em_Message_H_
2   -#define Em_Message_H_
3   -
4   -#include "Em_Types.h"
5   -
6   -#ifdef __cplusplus
7   -extern "C" {
8   -#endif
9   -
10   -/* protocolLevel #4 */
11   -#define Em_Message_INDSIZE 4
12   -
13   -typedef uint8_t Em_Message_Size;
14   -typedef uint8_t Em_Message_Kind;
15   -/* protocolLevel #12 -- split 16-bit resId into <resId, chan> */
16   -typedef int8_t Em_Message_ResId;
17   -typedef uint8_t Em_Message_Chan;
18   -
19   -#define Em_Message_NOP 0
20   -#define Em_Message_FETCH 1
21   -#define Em_Message_FETCH_DONE 2
22   -#define Em_Message_STORE 3
23   -#define Em_Message_STORE_DONE 4
24   -#define Em_Message_INDICATOR 5
25   -#define Em_Message_CONNECT 6
26   -#define Em_Message_DISCONNECT 7
27   -#define Em_Message_ECHO 8
28   -/* protocolLevel #3 */
29   -/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
30   -#define Em_Message_PAIRING 9
31   -#define Em_Message_PAIRING_DONE 10
32   -/* protocolLevel #7 */
33   -#define Em_Message_OFFLINE 11
34   -/* protocolLevel #8 */
35   -#define Em_Message_ACCEPT 12
36   -
37   -typedef struct Em_Message_Header {
38   - Em_Message_Size size;
39   - Em_Message_Kind kind;
40   - Em_Message_ResId resId;
41   - Em_Message_Chan chan;
42   -} Em_Message_Header;
43   -
44   -typedef uint16_t Em_Message_protocolLevel_t;
45   -
46   -/* protocolLevel #1 */
47   -
48   -/* protocolLevel #10 */
49   -/* #define Em_Message_SYS_SCHEMA_UUID -1 */
50   -
51   -#define Em_Message_SYS_MCM_PROTOCOL_LEVEL -2
52   -#define Em_Message_SYS_EAP_PROTOCOL_LEVEL -3
53   -#define Em_Message_SYS_EAP_BUILD_DATE -4
54   -
55   -/* protocolLevel #2 */
56   -#define Em_Message_SYS_FILE_INDEX_RESET -5
57   -
58   -/* protocolLevel #5 */
59   -#define Em_Message_SYS_SCHEMA_HASH -6
60   -
61   -/* protocolLevel #7 */
62   -#define Em_Message_SYS_RESOURCE_COUNT -7
63   -
64   -/* protocolLevel #9 */
65   -#define Em_Message_SYS_MOBILE_RSSI -8
66   -
67   -/* protocolLevel #11 */
68   -#define Em_Message_SYS_MCM_DISCONNECT -9
69   -
70   -extern void Em_Message_init(void);
71   -
72   -extern bool Em_Message_addByte(uint8_t b);
73   -extern void Em_Message_dispatch(void);
74   -extern bool Em_Message_getByte(uint8_t *bp);
75   -extern uint8_t Em_Message_lock(void);
76   -extern void Em_Message_startSend(void);
77   -extern void Em_Message_unlock(uint8_t key);
78   -
79   -#ifdef __cplusplus
80   -}
81   -#endif
82   -
83   -#endif /*Em_Message_H_*/