Jump to content

Search the Community

Showing results for tags 'CC3100'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 13 results

  1. I am using CC3100 and BOOSTXL-SENSHUB alongwith TM4C123GXL launchpad to build a project that senses the temperature and posts it to some server. Is there any energia library or sample code for BOOSTXL-SENSHUB sensor hub pack?
  2. What I'm trying to do: We have been developing a project for school on a MSP430F5529 LaunchPad. We now want to move our project to a custom PCB for the final part. My partner has been using the UCB0 SPI module available through the LaunchPad to communicate to a sensor while I have been separately (as in a completely different sketch) using the same module to run the CC3100MODBOOST Boosterpack. Because no one on my team has much programming experience, we are using Energia to develop the project. We first tried to start with CCS, but we were in way over our heads. Now that we have our different subsystems working, we are using an evaluation board to test out our circuit before going to a PCB. In order to run the SPI module and the sensor at the same time, I want to move the SPI communication with the CC3100 to the UCA1 SPI module. I think I figured out to set up and access all of the pins through pins_energia.h. I created a new board for our setup and added it to Energia. I used some LEDs to check that I could access GPIO pins that weren't accessible on the LaunchPad, and they would all light up when I wanted them to. (I used the digitalWrite() function to check that I actually set up the pins_energia.h file correctly. I didn't directly send the pins high with "P1DIR |= BIT0; P1OUT |= BIT0;" style assignments.) My next step was to switch communication with the CC3100 from UCB0 to UCA1 so my partner could keep using UCB0 for communication with his sensor. This is where I got really lost. I know that the code I have is using the SPI library included with Energia, but I don't know how to modify to do what I want it to do. So my main question ultimately is: "How do I get the Energia sketch to use UCA1 instead of the default UCB0 SPI module for communication with the CC3100?" Secondary to that, I am hesitant to change the installed libraries for Energia. Is there a way that I can reference copies of those libraries where my changes will be made? What I've tried: Looking through the code, I think that for the F5529, Energia is using the functions defined in utility/usci_spi.cpp. For this file at least, it seems to be hardcoded that the MSP will use UCB0. I tried to go through the file and replace every instance of "UCB0" with "UCA1", but that didn't work. I've also tried to look through some other posts about using alternate SPI ports on the F5529, but either I couldn't understand them or they didn't have solutions posted. Hardware: LaunchPad - MSP-EXP439F5529LP Rev 1.6 MCU - MSP430F5529IPN Evaluation board - MSP-TSP430PN80USB Boosterpack - CC3100MODBOOST Rev 1.0 Software IDE - energia-1.8.7E21 OS - Windows 10 Pro Other 43oh posts I've looked at (or at least the most relevant ones): https://forum.43oh.com/topic/5844-f5529-using-alternate-spi-and-i2c-interfaces/ https://forum.43oh.com/topic/5174-getting-i2c1-ie-usci_b1-to-work-on-f5529-launchpad/ Thank you so much for y'alls help with this. I've been trying for a while now to get this on my own, but I keep hitting a wall. This is my first post here, so please let me know if I need to provide any additional info or if there was a different way I should have posed this question. Thank you! Edit: typos/grammar
  3. Ssherry


    I am working on code related to sending an email through cc3100booster and msp432p401r. I am having an issue in connectivity of wifi in the module when the wifi connection code is provided in void setup(). I am providing mobile's hotspot and it gets connected and disconnected periodically. I require an continuous connection. When the wifi connection code is written inside loop(), the connection problem is solved but a newer issue is arised i,e, the program is running for email but not for the server [In server program i am sending temperature and pulse count value to thingspeak.com to get a graphical representation of my data.] moreover, despite of being present in loop, it executes only once. its a complete arcane issue for me. I am linking code below. please help me out with this. #define TEMBOO_ACCOUNT "xxxxxxx" // your Temboo account name #define TEMBOO_APP_KEY_NAME "xxxxxxx" // your Temboo app name #define TEMBOO_APP_KEY "xxxxxxxx" // your Temboo app key #define WIFI_SSID "xxxxxx" //hotspot name #define WIFI_PASSWORD "xxxxxxx" //hotspot password #ifndef __CC3200R1M1RGC__ #include <SPI.h> #include <WiFi.h> #include <WiFiClient.h> #include <Temboo.h> #endif const String GMAIL_USER_NAME = "xxxxxxx"; //sender's email const String GMAIL_APP_PASSWORD = "xxxxxx"; //sender's app password const String TO_EMAIL_ADDRESS = "xxxxxxx"; //receiver's email boolean attempted = false; #include <LiquidCrystal.h> LiquidCrystal lcd(13,33,12,24,5,25,6,26,27,8,28); float temp; float volt; int sensorValue1; int sensorValue2; int count; WiFiClient client; char server[] = "api.thingspeak.com"; unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds const unsigned long postingInterval = 10L * 1000L; // delay between updates, in milliseconds void checkconnection() { int wifiStatus = WL_IDLE_STATUS; // determine if the WiFi Shield is present. Serial.print("\n\nShield:"); if (WiFi.status() == WL_NO_SHIELD) { Serial.println("FAIL"); // if there's no WiFi shield, stop here. while(true); } while(wifiStatus != WL_CONNECTED) { Serial.print("WiFi:"); wifiStatus = WiFi.begin(WIFI_SSID, WIFI_PASSWORD); if (wifiStatus == WL_CONNECTED) { Serial.println("OK"); } else { Serial.println("FAIL"); } delay(1000); } Serial.println("Waiting for an ip address"); while (WiFi.localIP() == INADDR_NONE) { // print dots while we wait for an ip addresss Serial.print("."); delay(300); } Serial.println("\nIP Address obtained"); // We are connected and have an IP address. // Print the WiFi status. printWifiStatus(); } void serverprog() { while (client.available()) { char c = client.read(); Serial.write(c); } if (millis() - lastConnectionTime > postingInterval) { httpRequest(); } } void httpRequest() { // close any connection before send a new request. // This will free the socket on the WiFi shield client.stop(); // if there's a successful connection: if (client.connect(server, 80)) { Serial.println("connecting..."); char msgg[200]; sprintf(msgg,"GET /update?api_key=xxxxxxxxxxxxxxxx&field1=%f&field2=%d",temp,count); //have to make account on thingspeak.com and create channel then create 2 fields. then copy the WRITE API key in place of xxxxxxxxx // send the HTTP PUT request: client.println(msgg); client.println("Host: api.thingspeak.com"); client.println("User-Agent: Energia/1.1"); client.println("Connection: close"); client.println(); // note the time that the connection was made: lastConnectionTime = millis(); } else { // if you couldn't make a connection: Serial.println("connection failed"); } } void printWifiStatus() { // print the SSID of the network you're attached to: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print your WiFi IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm"); } void setup() { lcd.begin(16, 2); Serial.begin(9600); Serial.println("processing......"); } void loop() { int sensorValue1 = analogRead(A0); lcd.clear(); lcd.setCursor(0,2); lcd.print("wait.."); /* lcd.setCursor(0,0); lcd.print("temperature ="); lcd.setCursor(14,0); lcd.print(temp);*/ Serial.println(sensorValue1); volt=sensorValue1*3.22; temp=volt/10; Serial.println(volt); Serial.println("temp="); Serial.println(temp); delay(10); int sensorValue2; unsigned long start=millis(); analogReadResolution(10); unsigned long currentValue; float x=0; int y; count=0; delay(3000); lcd.clear(); lcd.setCursor(0,2); lcd.print("detecting......."); do { int sensorValue2 = analogRead(A1); if(sensorValue2 > x) { x=sensorValue2; y=1; } else if(sensorValue2 < x) { x=sensorValue2; if(y==1) { count++; y=0; } } currentValue=millis(); } while(currentValue-start<=30000); count=(count*2)/10000; lcd.clear(); lcd.setCursor(0,0); lcd.print("temperature ="); lcd.setCursor(14,0); lcd.print(temp); lcd.setCursor(0,2); lcd.print("pulse count ="); lcd.setCursor(14,1); lcd.print(count); delay(1000); Serial.println(sensorValue2); Serial.println("pulse count="); Serial.println(count); checkconnection(); delay(3000); if (!attempted) { Serial.println("Running SendAnEmail..."); TembooChoreo SendEmailChoreo(client); SendEmailChoreo.begin(); SendEmailChoreo.setAccountName(TEMBOO_ACCOUNT); SendEmailChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME); SendEmailChoreo.setAppKey(TEMBOO_APP_KEY); SendEmailChoreo.setChoreo("/Library/Google/Gmail/SendEmail"); SendEmailChoreo.addInput("Username", GMAIL_USER_NAME); SendEmailChoreo.addInput("Password", GMAIL_APP_PASSWORD); SendEmailChoreo.addInput("ToAddress", TO_EMAIL_ADDRESS); SendEmailChoreo.addInput("Subject", "Recieved An Email???"); char msg[100]; sprintf (msg," Body Temperature=%f, Pulse count=%d",temp,count); SendEmailChoreo.addInput("MessageBody", msg); unsigned int returnCode = SendEmailChoreo.run(); if (returnCode == 0) { Serial.println("Success! Email sent!"); } else { while (SendEmailChoreo.available()) { char c = SendEmailChoreo.read(); Serial.print(c); } } SendEmailChoreo.close(); } serverprog(); lcd.clear(); }
  4. I am unable to reconnect to my WPA wifi access point after disconnecting. Using the code posted in the link: Problem in Reconnecting with CC3200 I was able to successfully run the code with a Launchpad CC3200 device I was NOT able to run the code with a Launchpad MSP430F5529 and CC3100 Boosterpack When I use this setup, I connect the first time, disconnect, and fail to reconnect. My serial screen outputs the following: Attempting to connect to Network named: MXET .......................................... You're connected to the network Waiting for an ip address ............... IP Address obtained SSID: MXET IP Address: signal strength (RSSI):-58 dBm Waiting... 9999 Waiting... 8997 Waiting... 7997 Waiting... 6996 Waiting... 5996 Waiting... 4995 Waiting... 3994 Waiting... 2994 Waiting... 1993 Waiting... 992 Disconnecting from WiFi....Disconnected Waiting... 9426 Waiting... 8424 Waiting... 7424 Waiting... 6423 Waiting... 5422 Waiting... 4422 Waiting... 3421 Waiting... 2421 Waiting... 1420 Waiting... 419 Attempting to connect to Network named: MXET ............................................................ reconnectWiFi.ino
  5. Hello, One of our customers has reported the problem while using CC3100 with MSP432P401R. The problem is as follows. I am using the MSP-432P401R with the CC3100BOOST and I am running the Energia sketch CreateAPModeWebServer.ino(file attached). I modified it just in line 114-118 in order to let me connect before it stops working. I switched from CC3120 to CC3100 because when using the CC3120 I never got an IP or MAC address after I connected to the network.The problem seems to be in line 147: WiFiClient myClient = myServer.available(); That line is never executed. When I click „suspend“, ccs jumps into the file socket.c to line 717: VERIFY_PROTOCOL(Msg.Rsp.sd == sd); It seems that this line is where the program stops for whatever reason. Could you kindly guide me with this? socket.c CreateAPModeWebServer.txt
  6. Hello, I recently ported over an Energia sketch that had working WiFi functionality in order to help with remote logging for a project I'm working on. The WiFi works well, but now the CCS code that was handling the ADC interrupts and measuring data is no longer functioning. If possible, I would like to make minimal changes to the CCS code as it was working exactly as we desired. I feel like there must be a relatively simple fix that I'm missing but I can't seem to figure it out. Can someone please help figure out what's wrong the ADC interrupt in the following code? #include <stdint.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include "inc/hw_types.h" #include "inc/hw_gpio.h" #include "inc/hw_memmap.h" #include "inc/hw_ints.h" #include "sysctl.h" #include "gpio.h" #include "driverlib/gpio.h" #include "driverlib/timer.h" #include "driverlib/interrupt.h" #include "driverlib/debug.h" #include "driverlib/adc.h" #include "inc/tm4c123gh6pm.h" #include <string.h> #include <WiFiClient.h> #ifndef __CC3200R1M1RGC__ // Do not include SPI for CC3200 LaunchPad #include <SPI.h> #endif #include <WiFi.h> // your network name also called SSID char ssid[] = ""; // your network password char password[] = ""; WiFiClient client; IPAddress server(); uint16_t port = ; #define SAMPLING_RATE 80000.0 // #define TARGET_FREQUENCY 10000.0 // #define BLOCK_SIZE 80 #define BUFFER_SIZE 255 //result cannot be declared in interrupt handler uint8_t flag = 0; uint32_t buffer[BUFFER_SIZE]; uint32_t bufferIndex = 0; float goertzel(uint32_t buffer[]) { int k, i; const float floatN = (float)BLOCK_SIZE; float omega; k = (int) (0.5 + ((floatN * TARGET_FREQUENCY ) / SAMPLING_RATE)); omega = (2.0 * 3.14 * k)/floatN; float sine = sin(omega); float cosine = cos(omega); float coeff = 2.0 * cosine; float Q0 = 0; float Q1 = 0; float Q2 = 0; float scaling_factor = BLOCK_SIZE/2.0; for (i = 0; i < BUFFER_SIZE; i++) { Q0 = coeff * Q1 - Q2 + buffer[i]; Q2 = Q1; Q1 = Q0; } float imag, real, result; real = (Q1 - Q2 * cosine) / scaling_factor; imag = (Q2 * sine) / scaling_factor; result = sqrtf(real * real + imag * imag); return result; } void ADC3IntHandler(void) { float result = 0.0; ADCIntClear(ADC0_BASE, 3); if (flag == 0) { //GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, GPIO_PIN_0); flag = 1; } else { //GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, 0); flag = 0; } if (bufferIndex >= 255) { bufferIndex = 0; ADCSequenceDisable(ADC0_BASE, 3); result = goertzel(buffer); client.println(result); ADCSequenceEnable(ADC0_BASE, 3); } ADCSequenceDataGet(ADC0_BASE, 3, (buffer + bufferIndex)); bufferIndex++; } void setupADC(void) { SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHZ); //Enable ADC0 and timer SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //pin for testing //GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0); TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); TimerClockSourceSet(TIMER0_BASE, TIMER_CLOCK_SYSTEM); //625 - 40 kHz sampling rate TimerLoadSet(TIMER0_BASE, TIMER_B, 625); TimerControlTrigger(TIMER0_BASE, TIMER_B, true); //Disable before configuring ADCSequenceDisable(ADC0_BASE, 3); ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_TIMER, 0); ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END); //sequencer 3 on PE3 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); //PE3 ADC pin GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3); IntRegister(INT_ADC0SS3, ADC3IntHandler); ADCIntRegister(ADC0_BASE, 3, ADC3IntHandler); IntMasterEnable(); IntEnable(INT_ADC0SS3); ADCIntEnable(ADC0_BASE, 3); ADCSequenceEnable(ADC0_BASE, 3); SysCtlDelay(10); TimerEnable(TIMER0_BASE, TIMER_B); //Timer A conflicts with SPI of wifi module ADCIntClear(ADC0_BASE, 3); } void setup() { setupADC(); WiFi.begin(ssid, password); while ( WiFi.status() != WL_CONNECTED) { delay(300); } while (WiFi.localIP() == INADDR_NONE) { delay(300); } uint8_t tries = 0; while (client.connect(server, port) == false) { if (tries++ > 100) { while(1); } delay(100); } delay(1000); } void loop() { //client.println("hello"); } Thank you!
  7. Hello everyone !! I have a small problem and it is the following: First I'm simulating sensors with approximate random's values, and I need to upload this data to pubnub and freeboard as monitoring platform, the problem I have is that in pubnub I find the values updated in real time, What happens, is that when I upload to freeboard are not updated, they take a fixed number. I am hesitating in the way of storing them, I think it is not appropriate. I have the well-linked accounts between pubnub and freeboard. Greetings. MR this is my code !! #include <SPI.h> #include <WiFi.h> #include "PubNub.h" #include <aJSON.h> #define NUM_CHANNELS 4 // How many analog channels do you want to read double randomDouble(double min, double max, int numCasas){ long _min = min * pow(10, numCasas) + 0.1; long _max = max * pow(10, numCasas) + 0.1; return (double) random(_min, _max) / pow(10, numCasas) ; } int sn=0; char pubkey[] = "***"; char subkey[] = "***"; char channel[] ="***"; char uuid[] = "***"; // your network name also called SSID char ssid[] = "***"; // your network password char password[] = "***"; static int keyIndex = 0; void setup() { Serial.begin(115200); randomSeed(analogRead(0)); PubNub.begin(pubkey, subkey); PubNub.set_uuid(uuid); Serial.println("PubNub set up"); } void loop() { double Freq = randomDouble(10.71, 10.79, 2)+1839755.00; double voltage_1 = randomDouble(0.82, 0.88, 2); double temperature = randomDouble(18.30, 20.00, 2); double vol = randomDouble(3.10, 3.29, 2); double data[] = {Freq, voltage_1, temperature, vol}; PubSubClient *client; // create JSON objects aJsonObject *msg, *dataReadings; msg = aJson.createObject(); aJson.addItemToObject(msg, "DataReading", dataReadings = aJson.createObject()); // get latest sensor values then add to JSON message for (int i = 0; i < NUM_CHANNELS; i++) { String Channel = String(data[i]); char charBuf[Channel.length()+1]; Channel.toCharArray(charBuf, Channel.length()+1); double Values = data[i]; aJson.addNumberToObject(dataReadings, charBuf, Values); } // convert JSON object into char array, then delete JSON object char *json_String = aJson.print(msg); aJson.deleteItem(msg); // publish JSON formatted char array to PubNub Serial.print("publishing a message: "); Serial.println(json_String); PubNub.publish(channel, json_String); free(json_String); delay(500); }
  8. Hello, I have recently bought cc3100 booster pack to use with msp432 and energia. I connected the boosterpack with the launchpad as shown in the attached pic below. I tried to run the sketch "SimpleWebServerWiFi" , as shown in the tutorial page of energia. I didn't press any switches on the boosterpack and simply connected it with the main board and powered it on and uploaded the example sketch after changing the ssid and password.But the serial monitor outputs nothing and the " " page does not load . Please help.
  9. We have developed hardware, open source firmware and a web app, which will allow very rapid creation of IoT applications, aimed at beginners and experts alike. We use a Wi-Fi master, paired with ISM slaves, to allow greater battery life and range for the slaves (though masters can be used on their own). A complete security infrastructure is in place, and a personalised web app is created on set-up. Or you can extend our code, point to your own server or use our API to build your own web or desktop application. Our master is based on CC3100 + MSP5969 + CC110L. We currently supply slaves based on the CC430 and made by PanStamp. Please take a look at www.wifithing.com and our kickstarter campaign. If you want a third party view of what we are trying to do, this article covers it well: SemiAccurate Or look at the blog posted about us on energia.nu. Edward
  10. Hi Everyone, I have made available binaries and source code for an RGB lighting project called LightServer that I thought some of you would be interested in. The best way to see what you can do with LightServer is to view the videos on Vimeo here - https://vimeo.com/album/3015956 No coding experience required to set this up and use. Technical Details LightServer uses the Tiva C LaunchPad and the CC3100 Wi-Fi BoosterPack and a custom BoosterPack (Eagle files included
  11. I just received my CC3100 booster and I am having some trouble with it. I am not familiar with the networking stuff, so I am not sure where the problem lies. I have been able to get the web server example working, where I can turn the LP LED on and off through the browser. I am also able to get the NTP time example working. When I try to run the weather example, I get an error value of -161 (No DNS specified) when I get to the GetHostIP function. What is causing this? The code I am using is the getweather from the CC3100 examples. I have not modified anything except my network settings in SL_common.h Thanks
  12. Hi guys, I am working on a project and am in need of a second WiFi booster pack for my MSP430f5529LP. I have been using energia code as a base for my project and it has been working great, but I recently decided I need a second MSP + BoosterPack. Anyways, the TI store doesn't seem to be offering the CC3000 booster pack right now so I am wondering how easy it is to make my cc3000 code compatible with the cc3100 or cc3200 BoosterPack. Does anyone have experience with this upgrade? Thanks for the information.
  13. Hi There, Anyone tried (and succeeded) in getting the CC3100 booster pack up and running with the FR5969 LP? I'm getting compilation errors and it looks like it's running out of RAM when I try to compile the example WiFi programs. Errors are ScanNetworks.cpp.elf section .bss will not fit in region 'ram' "region RAM overflowed by 880bytes" Any thoughts? ~DaveS
  • Create New...