Hi,
ich möchte gerne ein vld telegram mit einem TCM300 Modul senden. Dies
fonktioniert zwar allerdings möchte ich nicht die Chip id sondern die
Base Id verwenden ich nutze das wie folgt:
1 | void SPHERE_SendVLDTelegram(U8* tel)
|
2 | {
|
3 |
|
4 | struct myRadioType{
|
5 | CHOICE_TYPE u8Choice;
|
6 | uint8 u8Data[MY_DATA_LEN];
|
7 | uint32 u32Id;
|
8 | uint8 u8Status;
|
9 | uint8 u8Chk;
|
10 | // uint8 u8Fill[RADIO_BUFF_LENGTH-MY_TELEGRAM_LEN]; // align u8Length as last byte in structure !!!
|
11 | RADIO_TEL_LENGTH u8Length;
|
12 | }myRT;
|
13 |
|
14 | TEL_PARAM_TYPE pTel;
|
15 |
|
16 | //uint32 u32MyId;
|
17 |
|
18 | U8 i;
|
19 | pTel.p_tx.u8SubTelNum = 3;
|
20 |
|
21 | pTel.p_tx.u32DestinationId = BROADCAST_ID;
|
22 |
|
23 | mainInit();
|
24 | radio_readBaseId(&myRT.u32Id);
|
25 |
|
26 |
|
27 | myRT.u8Choice = RADIO_CHOICE_VLD;
|
28 |
|
29 |
|
30 | myRT.u8Status = 0x30;
|
31 |
|
32 | myRT.u8Length =(RADIO_TEL_LENGTH) MY_TELEGRAM_LEN;
|
33 |
|
34 |
|
35 | for(i=0; i<MY_TELEGRAM_LEN-1;i++)
|
36 | {
|
37 | myRT.u8Data[i]= *tel;
|
38 | tel++;
|
39 | }
|
40 |
|
41 | while(1)
|
42 |
|
43 | {
|
44 |
|
45 | while (radio_sendTelegram((TEL_RADIO_TYPE *)&myRT, &pTel)==BUFF_FULL);
|
46 |
|
47 | time_wait(5000);
|
48 |
|
49 | CLR_WDT();
|
50 |
|
51 | }
|
Aber es funktioniert nicht, es wird immer noch die chip Id verwendet.
Ich versende außerdem 4 bs Telegramme da funktioniert es super mit der
base Id. Vielleicht weiß jemand was ich falsch mache das es bei VLD
nicht klappt;)
Mit freundlichen Grüßen