noogrub 0 Posted February 8, 2012 Share Posted February 8, 2012 CorB, Ialso experienced a faulty LaunchPad. One of my LaunchPads has a non-responsive button. I've been using it for other projects, mainly prototyping a "shield" with a BEAM Nv neuron circuit for some robotics ideas I have. However the two boards I am using for the BoosterPacks seem to be fine in every way. Both of them have been used multiple times with various LED-blinking programs, etc etc and everything seems fine with them. John Quote Link to post Share on other sites
CorB 64 Posted February 8, 2012 Share Posted February 8, 2012 I have compiled this code onto the two devices. When triple-clicking the button, both of them toggle between two blinks and three blinks, which tells me that they are ready for pairing. However, when I plug either of them in, the ATC Booster Stack lite GUI does not find them. Has anyone had this problem? My TX/RX jumpers are turned (I have the latest versions of the MSP430 boards, just came in the mail last week). I've walked through the quick start several times without any successful connection to the GUI. I'm pretty sure I'm doing something wrong but it beats me what it is. All comments appreciated. Thanks in advance! John Hi, I havent had that type of problem using the original firmware, I have since switched to using the code Larsie has made public (also shared overhere). This code is really small (~2Kb), and although you need to develop your own setups for sending/receiving messages I feel that this is a lot easier than adapting the Anaren code. regards Cor Quote Link to post Share on other sites
kenilworthkid44 0 Posted February 17, 2012 Share Posted February 17, 2012 I have compiled the code in Anaren_CCS as well and have the same problem. It seems to connect to the first connected unit, even shows the graph of chip temperature, but refuses to pair with the other unit. We're getting close, but still no cigar. One other odd thing, when using the original firmware chips from TI the hub & sensor show two very different temperature readings, even though the two radios are on the same anti-static mat covered table. :| Quote Link to post Share on other sites
CorB 64 Posted February 18, 2012 Share Posted February 18, 2012 Hi, The fact that the units show different temperatures is not a worry, the measured temperatures of the MSP430G2553 need to be cali brated before you can compare them properly. I have decided not to go forward with the Anaren firmware but just go with the far more simple code based on the SLAA325 application note of TI. regards Cor kenilworthkid44 1 Quote Link to post Share on other sites
gwdeveloper 275 Posted February 18, 2012 Share Posted February 18, 2012 @CorB, I've done the same thing. I'm sticking with SimpliciTI and the opensource slaa325 libraries. Reasons: 1. Anaren firmware is extremely bloated. 2. Anaren firmware is extremely confusing. 3. ..\..\..\..\..\..\..\..\..\..\..\Hal.h 4. They didn't need to re-invent the wheel. 5. Portability (you can't install the Anaren firmware on a Chronos so you can't communicate with it) 6. Poor release and documentation of usable software. But, I do have to say, I love the hardware. It's a great wireless development package for super cheap. Quote Link to post Share on other sites
kenilworthkid44 0 Posted February 18, 2012 Share Posted February 18, 2012 Thanks for that Cor, since the bloatware from Anaren had so many modules I just assumed the temperature would have been calibrated. A far more usable demo of this product would have been 2 modules, one to set up the radio once as to frequency, data rate, power etc. and another for simple but expandable data exchanges. But we all know TI never does anything the easy way. Quote Link to post Share on other sites
noogrub 0 Posted February 18, 2012 Share Posted February 18, 2012 >>But we all know TI never does anything the easy way. Actually, I'd say the opposite. TI rocks. I don't see anyone from Anaren in here trying to help. Quote Link to post Share on other sites
larsie 121 Posted February 27, 2012 Share Posted February 27, 2012 Thanks for that Cor, since the bloatware from Anaren had so many modules I just assumed the temperature would have been calibrated. A far more usable demo of this product would have been 2 modules, one to set up the radio once as to frequency, data rate, power etc. and another for simple but expandable data exchanges. But we all know TI never does anything the easy way. I was similarly frustrated with Anaren but especially TI for a short while, until I realized that TI actually have some simple example RF code out there in nice BSD licenses. That's the code that https://github.com/mobilars/LarsRF is based on. So I've forgiven them ... especially since the sell their Launchpad device at such a DIY-friendly price, which must be below their cost even at the large volume they are making it. They deserve a lot of credit for that. cheverecamachidoche, greenitguy, pine and 2 others 5 Quote Link to post Share on other sites
cubeberg 540 Posted March 12, 2012 Share Posted March 12, 2012 Larsie, First - big thank you for the git code - it's an awesome start. I'm testing the LED blink app you provided and I'm running into a problem. Once I've clicked the button on one device a couple of times, the other gets stuck waiting for the RFSendPacket (CC1100-CC2500.c) to complete. Specifically, it's stuck on while (!(TI_CC_GDO0_PxIN&TI_CC_GDO0_PIN)); Any idea what's going on? Does anyone else have a booster that they could test with? Bit 7 is set on P2IN, but all other bits are 0. I'm using CCS 5. Thanks! Quote Link to post Share on other sites
CorB 64 Posted March 13, 2012 Share Posted March 13, 2012 Larsie,First - big thank you for the git code - it's an awesome start. I'm testing the LED blink app you provided and I'm running into a problem. Once I've clicked the button on one device a couple of times, the other gets stuck waiting for the RFSendPacket (CC1100-CC2500.c) to complete. Specifically, it's stuck on while (!(TI_CC_GDO0_PxIN&TI_CC_GDO0_PIN)); Any idea what's going on? Does anyone else have a booster that they could test with? Bit 7 is set on P2IN, but all other bits are 0. I'm using CCS 5. Thanks! Hi Cuberg, I am using the same basic code as Larsie and have had the same issue as you report some time ago. Ive added some additional code (see below) and I dont have any issues anymore. In my test-setup I have currently 3 Sensors (2 on batteries, 2xAAA or CR3025) and 1 Hub, they send data (mainly battery level as I am testing how long a setup can run from batteries) every 10 seconds. All sensors are at sleep most of the time and wake-up every 10 seconds, send a package and go to sleep again. Every 5th package asks for an ACK from the Hub, sensors wait for the ACK to come back (not sleeping). In the ACK-reply from the HUB every sensor learns how strong its signal is when received by the Hub, sensors do self power up/down (paTable) to minimize transmission energy whilst keeping a good connection. Here;s the modified code for RFSendPacket void RFSendPacket(char *txBuffer, char size) { // added 20120123 based on ANAREN code TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); // set to IDLE TI_CC_SPIStrobe(TI_CCxxx0_SFRX); // Flush RX TI_CC_SPIStrobe(TI_CCxxx0_SFTX); // Flush TX // end new 20120123 TI_CC_SPIWriteBurstReg(TI_CCxxx0_TXFIFO, txBuffer, size); // Write TX packet structure data TI_CC_SPIStrobe(TI_CCxxx0_STX); // Change state to TX, initiating data transfer while (!(TI_CC_GDO0_PxIN&TI_CC_GDO0_PIN)); // Wait GDO0 to go hi -> sync TX'ed while (TI_CC_GDO0_PxIN&TI_CC_GDO0_PIN); // Wait GDO0 to clear -> end of pkt TI_CC_SPIStrobe(TI_CCxxx0_SRX); // Change state to RX after sending TI_CC_GDO0_PxIFG &= ~TI_CC_GDO0_PIN; // After pkt TX, this interrupt flag is set. // Has to be cleared before exiting } cheers Cor krzyk2 1 Quote Link to post Share on other sites
cubeberg 540 Posted March 13, 2012 Share Posted March 13, 2012 Thanks CorB, it's very helpful to know that you were seeing the same issue. I turned off the TX/RX and set up my own code and it isn't hanging anymore. I think it may have actually been the ACK responses that were the problem - the number of packets was different and I didn't see any code handling the smaller response packets. Not sure if there was a different app for the master, but it seemed like an issue. Thanks for the code - I'll take a look @ incorporating it into my project! Quote Link to post Share on other sites
krzyk2 11 Posted March 13, 2012 Share Posted March 13, 2012 ... they send data (mainly battery level as I am testing how long a setup can run from batteries) ... That's interesting, is it possible to measure the battery level from MSP430 or are you using an external sensor for this? BTW. I am seeing the led blinking jam from mine CC2500, nice to know that's not my code is causing it Quote Link to post Share on other sites
CorB 64 Posted March 13, 2012 Share Posted March 13, 2012 That's interesting, is it possible to measure the battery level from MSP430 or are you using an external sensor for this? Yep, its a default feature and is measured with channel 11 on for instance MSP430G2553 Quote Link to post Share on other sites
oPossum 1,083 Posted March 13, 2012 Share Posted March 13, 2012 ADC input 11 is the supply voltage (Vcc) divided by 2. So using the 1.5V reference allows measuring up to 3V and using the 2.5V reference allows measuring up to 5V (more than the max allowed for the MSP430). If you want units of millivolts, here is the math... (integer for speed and compactness) unsigned read_batt_mv(void) { ADC10CTL0 = 0; ADC10CTL1 = INCH_11 | ADC10DIV_3; ADC10CTL0 = SREF_1 | ADC10SHT_3 | REF2_5V | REFON | ADC10ON | ADC10IE; ADC10CTL0 |= (ENC | ADC10SC); // Start conversion __bis_SR_register(LPM0_bits + GIE); // Sleep while ADC active - much less noise this way! //return ((192188L * ADC10MEM) + 32768) >> 16; // 1.5 V ref return ((320314L * ADC10MEM) + 32768) >> 16; // 2.5 V ref } #pragma vector = ADC10_VECTOR __interrupt void ADC10_ISR(void) { __bic_SR_register_on_exit(LPM0_bits); } krzyk2 1 Quote Link to post Share on other sites
cheverecamachidoche 13 Posted April 5, 2012 Share Posted April 5, 2012 Hello guys, I follow learning about msp430 now Im a little bit confused trying to run the code that Larsie shared with us, can anyone explainme which files of the three folders should to upload to one micro and which files to the another micro? sorry but Im a noob and I follow learning. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.