CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

CCS Wireless Ember Zigbee kit, data problem

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
mvme5100



Joined: 10 Nov 2016
Posts: 6

View user's profile Send private message

CCS Wireless Ember Zigbee kit, data problem
PostPosted: Tue Jun 27, 2017 11:55 pm     Reply with quote

Hello,

I'm trying to send a Long data instead of int8 without success.

If sending number above 255 from a device (EX12B.c below)
the 'unicast_data' will show '0'.

I hope someone try this, if does please suggest what I do wrong:

This is the exercise 12B from the exercise book, EX12B.c code:

// Modified messagedata[1] to LONG type
Code:

#include <16F886.h>
#fuses INTRC, NOWDT, NOLVP, BORV21
#device *=16
#use delay(clock = 4000000)
#use rs232(baud = 9600, xmit=pin_c6, rcv=pin_c7, STREAM=Console)

#define SLEEPY_SENSOR 1
#include <stdlib.h>
#include "EM260.h"
#include "ember_utilities.c"
             
void main(void)
{

   int i;
   EmberStatus Status;
   EmberEUI64 emLocalEUI64;
   EmberApsFrame apsframe;
   int messagetag=0x01;
   long messagedata[1];
   int messageLength;
   int16 indexOrDestination;
   
   output_high(POWER_UP_PIN);
   
   if(EmberInitialization())
   {
      EmberConfig();
      EmberInitializeBinding();
      ezspGetEUI64(&emLocalEUI64[0]);
      EmberAddEndPoint();
     
      EmberJoinNetWork(EMBER_SLEEPY_END_DEVICE);
     
      indexOrDestination = 0x000;
      apsframe.profileID=0xC00F;
      apsframe.clusterID=0x0001;
      apsframe.sourceEndpoint=0x01;
      apsframe.destinationEndpoint=0x01;
      apsframe.options=0x0000;
      apsframe.groupID=0x0000;
      apsframe.sequence=0x00;
      messageLength=1;
   printf("Software was compiled on ");
   printf(__DATE__);
       
   while(TRUE)
            {
            if(input(PUSH_BUTTON1))
         {
        // i++;
         messagedata[0]=256;
         printf(" DAT: %lu", messagedata[0]);
         ezspSendUnicast(Ember_OUTGOING_DIRECT,indexOrDestination,&apsframe,messagetag,messageLength,&messagedata[0]);
         delay_ms(200);
         
         }
         if(!input(PUSH_BUTTON2))
         {
        // i--;
         messagedata[0]=100;
         ezspSendUnicast(Ember_OUTGOING_DIRECT,indexOrDestination,&apsframe,messagetag,messageLength,&messagedata[0]);
         delay_ms(200);
         
         }
       }
      }
}

This is the "ember_utilities.c" partial code:

// Modified unicast_data and CoordinatorData[128]; to LONG type.
Code:

#define INTS_PER_SECOND 15
#IF COORDINATOR
LONG unicast_data;
LONG CoordinatorData[128];
#ELIF ROUTER
int8 RouterData[128];
#ELIF SLEEPY_SENSOR
int8 SensorData[28];
#ENDIF
EmberEUI64 emLocalEUI64;

This is the exercise 12A from the exercise book, EX12A.c code:

// This is the Coordinator board which should print the unicast_data LONG data:
Code:

#include <18F4620.h>
#fuses HS, NOWDT, NOLVP
#use delay(clock = 10000000)
#use rs232(baud = 9600, xmit=pin_c6, rcv=pin_c7)

#define COORDINATOR 1
#include "EM260.h"
#include "ember_utilities.c"
#include <digit.h>

void main(void)
{
   
   EmberEUI64 emLocalEUi64;
   EmberStatus Status;
 
   printf("\n\r RESET.....");
   
   if(EmberInitialization())
   {
      EmberConfig();
      EmberInitializeBinding();
      ezspGetEUI64(&emLocalEUI64[0]);
      EmberAddEndPoint();
     
      EmberFormNetwork();
      Status=ezspPermitJoining(0xFF);
       
   while(TRUE)
   {
      EM260Tick();
      sinkApplicationTick();
      lcd_putd(unicast_data);
      printf("\n\r DATA:  %lu ",unicast_data);
      }
   }
}
Ttelmah



Joined: 11 Mar 2010
Posts: 19238

View user's profile Send private message

PostPosted: Wed Jun 28, 2017 10:39 am     Reply with quote

You do realise that the message length has to increase. You now want to send two bytes of message data, where the code as standard sends one....
mvme5100



Joined: 10 Nov 2016
Posts: 6

View user's profile Send private message

PostPosted: Wed Jun 28, 2017 10:47 am     Reply with quote

Thanks, I did realize it earlier today.
Ttelmah



Joined: 11 Mar 2010
Posts: 19238

View user's profile Send private message

PostPosted: Wed Jun 28, 2017 11:16 am     Reply with quote

Good. Smile
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group