LIJsselstein

Members
  • Content count

    48
  • Joined

  • Last visited

About LIJsselstein

  • Rank
    Advanced Member
  1. Thanks, wat was your criteria for singling out these libraries/protocols? There are a gazillion protocols and software tools that could be used for remote communication, ranging from very simple to very complex, form propitiatory/manufacturer specific to modbus, mqtt and IEC 60870-5. An xkcd cartoon would be appropriate.
  2. If you see noise than that could be ringing caused by fast rise times of the digital I/O. You can try to add a ~50 Ohm resistor in series the SDA and SDL lines, place the resistor close to the transmitter.
  3. Yes, a collegue and I have been doing all of the above with a G2553 (and other chips like the 28 pin version and the FR2433) using sleep (LPM0), sleepSeconds (LPM3), interrupts, ADC and master/slave I2C. We found two bugs in the I2C implementations and made bugreports and pull-requests for them. At least one pull-request is over a year old and has not been pulled-in, not sure why. So, it depends a bit on your specific situation if you'll run into any problems or not. CCS we found especially useful to do register level debugging of our I2C problems after importing the Energia sketch (which does not work for our custom FR2433 board!) and using EnergyTrace++ (a very very cool tool when doing low power development).
  4. To answer my own question: the error is triggered because, for 16 or 32 bit operations, the variable must be aligned on an even memory address, however the INFOMEM_CORRECTION_VALUE variable was defined on an odd address. Moving it from 0x1855 to 0x1856 solved the compiler error.
  5. I also often have problems with libraries in Energia where the compiler says 'No such file or directory' while the library is clearly installed correctly. In at least one instance I was able to fix this, perhaps this works for you as well: When the "#include <BlynkSimpleTI_CC3200_LaunchXL.h>" statement is in a header file but only the accompanying .cpp file is referencing anything in the Blynk library then you could try to move the #include to the .cpp instead.
  6. I ran into this error while developing a reasonably large application using Energia-1.6.10E18. The minimal code to producing this error is below: File: Someheader.h #ifndef __SOMEHEADER#define __SOMEHEADER// Infomem address for the correction factor. This factor is two bytes long.#define INFOMEM_CORRECTION_FACTOR 0x1855// Read a value from infomem. If not between min and max, return standard valuetemplate <typename T>T readInfomemValueLimit(T min, T max, T* address, T stdValue){ if (*address < min || *address > max ){ return stdValue; } return *address;}#endifSketch:#include <Wire.h>#include "someheader.h"// Calculate the measurement interval based on messages per day, and the time correctionuint32_t applyCorrection(uint16_t value){ uint16_t temp = 1; // Get the correction factor from information memory and make sure it is within specified bounds uint16_t correctionFactor = readInfomemValueLimit((uint16_t)0, (uint16_t)20000, (uint16_t *)(INFOMEM_CORRECTION_FACTOR), (uint16_t)10000); return (uint32_t)((uint16_t)temp * (uint16_t)correctionFactor);}void setup() { }void loop() { //uint16_t someValue = 1; //uint32_t correctedValue; //correctedValue = applyCorrection(someValue);}The compilation output is: The compiler error is is triggered in the line "return (uint32_t)((uint16_t)temp * (uint16_t)correctionFactor);", if you replace the variable correctionFactor with a constant (e.g. 1) then the sketch compiles successfully. The target doesn't seem to matter, the above is for the Launchpad but compiling for my own board with MSP430FR2433 gives the same error. Any ideas why this happens?
  7. Didnt look at the interrupt latency but the PIC24F04KA200-I/ST fits the rest of the requirements, at 100+ it's about $1.2
  8. I hope CCS7 will be able to import my custom board plus Energia stack. CCS6 doesn't even notice it's there...
  9. When you only need one switch level, use a float switch. Cheap, easy, super low power, and it works . Put your mcu in lpm4 and wait for the switch interrupt to wake you up. If you need reliability in debris filled water or need to protect it against animals or vandalism then mount the switch in a perforated pvc tube.
  10. Electricity, food, phone/internet providers, hosting, cars, mortgage, employees they all need reoccuring payments. Are hosting-/dataplans so especially bad for small remote wireless sensors that potentially save a lot of money on other expenses?
  11. Yes, i've been doing telemetry since approx. 1997. Since then the prices have dropped significantly, both hardware as data bundles so we're connecting ever smaller and smaller installations as well. I guess that somewhere you cross the line between telemetry and IoT but nothing really changes. Even when there isn't a real boundary I'm still cool with 'IoT' because customers want it..
  12. Ha, I'm glad that iiot is different I'm using LoRaWAN on the 868MHz band.
  13. I hate to do this but it feels like this is the only way.... @@energia can you please look at the questions in this post, especially Q2? Thanks!
  14. So just last week I stood before some 300 fruit farmers at a university research center showing our little IoT soil moisture transmitter that may either lift the burden of manually measuring twice a day on multiple locations, or from the long wires crisscrossing their fields with gprs modems and bulky batteries. There was quite some interest both from farmers as from their consultants. The name 'IoT' may be hype but there are a lot of realy useful applications.
  15. Thanks Rick for taking the time. As you probably know, Arduino/Energia produces bloated code -and that's ok-, when you compile a simple blinky sketch that only toggles a pin, it will still include lots of other code into your hex file. I.e. I2c init code is always included, as is TimerSerial and Tone apparently. Even if you don't use i2c or software serial, as in the blinky example. Indeed, one of the primary reasons for choosing the fr2433 was availability of the three hardware serial peripherals, specifically the two UARTS. Though maybe software serial might come in handy for debugging or somesuch when both hardware ones are already in use.