Jump to content
43oh

spirilis

Members
  • Content Count

    3,399
  • Joined

  • Last visited

  • Days Won

    146

Reputation Activity

  1. Like
    spirilis got a reaction from yyrkoon in msp430( Launchpad v1.5 ) compiler   
    Works great under Linux, never heard of any issues with it.  Yes you may be thinking of the RedHat-developed msp430-elf-gcc compiler although TI releases the binary builds of that these days with patches and all.
  2. Like
    spirilis got a reaction from yyrkoon in msp430( Launchpad v1.5 ) compiler   
    yeah you got it.  The mspgcc that comes with Energia is solid for G2553 work.  Old compiler, unsupported, but works great.
  3. Like
    spirilis reacted to Fred in I'm struggling with the CC3200   
    I've just started playing around with the CC3200 Launchpad as I'm also finding it tricky. I think it's definitely the CC3200 that's difficult as playing with the TM4C1294 Connected Launchpad and TI-RTOS beforehand wasn't too bad.
     
    Here are some things I seemed to have to find out the hard way. Please correct me if you know better I've got anything wrong.
     
    Flashing with CCS Uniflash
    Connect using CC3x Serial (UART) Interface, not Stellaris In-Circuit Debug Interface. The SOP jumper must be set to 2 You must power cycle the whole board if you change the jumper. Not just the reset button. You can set the WLAN profiles in Uniflash. No need to use the "SmartConfig" which I had problems with. Select the profiles tab and check the "Update" box. Enter details for Profile1, etc. /sys/mcuimg.bin is what's run when the board is powered up. Always this. Not the last debug session like on the MSP430 or TM4C.  
    Debugging
    Remove the SOP jumper if you've been flashing. Power cycle. Not just reset. The dubugger is "Stellaris In-Circuit Debug Interface" UART output is "CC3200LP Dual Port". Sometimes you can't start debugging if this is connected first. You can attach once debugging. Your debug session is temporary. On reset it'll run mcuimg.bin code again. Some examples use SSID defined with "#define SSID_NAME" (e.g. WLAN Station). Some use the config in flash (e.g. httpServer). Beware. Other
    Watch that jumper to select station or AP (on P58). Stuff will hang if you set it wrong. There's a new SimpleLink WiFi Starter Pro android app. A bit more usable, but it's still easy to screw up profile settings and get it to misbehave if you flashed anything other than the OOB code. I think I've got my head round it now. Probably. The documentation is there but not easy to find and digest. The TM4C is much easier if you have an ethernet cable nearby though!
     
    I have found examples that can be done with FreeRTOS or TI-RTOS. A bit of a pain to tweak things to compile, but if you follow the guides under SDK/docs/example you'll get there.
  4. Like
    spirilis reacted to grodius in TI Store Happy Geek Pride Day! Celebrate with discounted shipping.   
    I'll politely advocate for the architectural constraints If TI committed to pipelining the MSP, they would most likely need to rework the variable length instruction set and break backwards/forwards compatibility. Adding pipelining overhead to the chip would also draw considerably more power from a chip sold as being a leader in low power. In the end, it's cheaper for TI to just buy an ARM license with a mature instruction set and architectural design and continue with higher frequency Cortex architectures. I think if ARM were not a more attractive option, there would be higher clocked pipelined MSPs hitting the market.
  5. Like
    spirilis got a reaction from abecedarian in TI Store Happy Geek Pride Day! Celebrate with discounted shipping.   
    Almost way too overpowered, and the dev environment is a bit unconventionally restrictive - you have to use HALCoGen to generate projects and CCS for the coding/building/debugging.  Not too bad for folks already comfy with the CCS toolchain et al, but it's still quite esoteric.  Probably 99% of hobbyist projects have no need for the power too... although there's a "Jan Cumps" on twitter from Belgium who's adopted the Hercules as his pet MCU of choice for giggles.
     
    This is all mostly due to its "safety critical" nature, which shapes everything about how TI supports it.  TI's own TI-RTOS (aka SYS/BIOS aka DSP/BIOS) doesn't even support it, they include project generation for FreeRTOS for those who want an RTOS on the chip.  FreeRTOS does have safety critical "support" via their SafeRTOS variant.
     
    OTOH the fact they have an all-in-one project generation tool that supports all the peripherals including the fascinating custom-VLIW instruction set "HET" timer is a bit envy-worthy; most TI MCUs just don't have such an "all in one" configurator.
     
    Anyway I recommend you roll with it regardless!  There's probably a lot of cool stuff you can do with those with the right motivation.
  6. Like
    spirilis got a reaction from tripwire in TI Store Happy Geek Pride Day! Celebrate with discounted shipping.   
    Almost way too overpowered, and the dev environment is a bit unconventionally restrictive - you have to use HALCoGen to generate projects and CCS for the coding/building/debugging.  Not too bad for folks already comfy with the CCS toolchain et al, but it's still quite esoteric.  Probably 99% of hobbyist projects have no need for the power too... although there's a "Jan Cumps" on twitter from Belgium who's adopted the Hercules as his pet MCU of choice for giggles.
     
    This is all mostly due to its "safety critical" nature, which shapes everything about how TI supports it.  TI's own TI-RTOS (aka SYS/BIOS aka DSP/BIOS) doesn't even support it, they include project generation for FreeRTOS for those who want an RTOS on the chip.  FreeRTOS does have safety critical "support" via their SafeRTOS variant.
     
    OTOH the fact they have an all-in-one project generation tool that supports all the peripherals including the fascinating custom-VLIW instruction set "HET" timer is a bit envy-worthy; most TI MCUs just don't have such an "all in one" configurator.
     
    Anyway I recommend you roll with it regardless!  There's probably a lot of cool stuff you can do with those with the right motivation.
  7. Like
    spirilis reacted to grodius in TI Store Happy Geek Pride Day! Celebrate with discounted shipping.   
    I bought two of the Hercules RM57L launchpads. I wonder why these aren't popular? At 330 mhz they could almost emulate an MSP430 and they look pretty classy.
  8. Like
    spirilis reacted to chicken in BoostMP3 LauchPad BoosterPack   
    You guys are a though crowd today
     
    Fist of all, Herzlich Willkommen auf 43oh @@mathiasbuder
     
    I don't think that comparing this project to an off-the-shelf MP3 player is useful, comparing to an Android tablet even less so. A customer for this BoosterPack will buy it as a tool to experiment and build their own contraptions (e.g. a radio clock?).
     
    MP3 shields for Arduino are a more relevant comparison:
    Adafruit sells their Music Maker shield for $30, based on the same IC but seems to have a lot less functionality (no recording, no buttons, no optional display). Sparkfun's MP3 Player Shield is $25, again only audio out. Seeed's Grove Serial MP3 Player is $15, again no recording. There are shields on Ebay for around $10 that support recording, e.g. this one. But software support is probably much worse than with Adafruit et al.  
    So your price may be a bit high compared to the competition, even when accounting for the superior functionality. On the other hand, there's nothing like this for TI LaunchPads yet, so there can be a markup within reason. The higher the price the more you will have to justify it with very good support with beginner friendly libraries (Energia) and documentation.
     
    Given the small TI LaunchPad ecosystem, I wouldn't expect a lot of sales, even at a lower price point. Sales will most likely be driven by publishing interesting projects based on your BoosterPack that others want to replicate. Think Hackaday, Instructables, etc.
     
    My final advice after selling a few hundred of my own widgets: Don't under-price yourself. Making and selling hardware takes a lot of time and money. When your little side project happens to be a success and turns into serious work, it is important that it will pay for your expenses and then some. If it doesn't sell because it was too expensive, you at least learned something and had fun doing so (just don't fabricate 100's of them upfront).
     
    Ignoring the business side, I still think it's a nice project. I have an older version of that MP3 chip sitting in my drawer since 10+ years and never came around actually putting it to good use.
  9. Like
    spirilis reacted to Rickta59 in BoostMP3 LauchPad BoosterPack   
    For  less than $50 I can get a complete android tablet that would be able to do mp3/ogg/ etc + wifi + supplies battery and charger lcd and case ...
     
    http://www.geekbuying.com/item/Q88-Plus-7-inch-ALLWINNER-A33-Quad-Core-1-5GHZ-512MB-4G-Dual-Cameras-WIFI-BT-Phone-Tablet-PC---Black-342893.html
  10. Like
    spirilis reacted to Fred in CCSimpleLink   
    CC2650 is 2.4GHz. I would assume that OpenThread is independent of the underlying frequency. Not sure why I thought the Nest implementation was using 2.4GHz - probably either a poorly researched article on it or just my assumption.
     
    I understand exactly what you mean about it seeming "green". This is the best I've found - a blog by a TI employee but not the easiest to follow. I'm sure he'll do some CC1310 stuff too.
    http://sunmaysky.blogspot.co.uk
  11. Like
    spirilis got a reaction from dusmart in How does Energia download the .bin file to board?   
    I don't think the source is actually available as IIRC Energia uses DSLite (TI's debugserver lite edition) these days.  But the JTAG unit on the TM4C board is called an "ICDI" so you might be able to find info on that.
  12. Like
    spirilis got a reaction from Fred in CCSimpleLink   
    Yeah my understanding was OpenThread was targeting sub-GHz anyhow (CC26xx is 2.4GHz IIRC) 
    CC1310 will probably be the platform for OpenThread. I have two of the CC1310 LP's, even they feel a little "green" on the examples and code so far. Seems like an awesome chip so far though. Tiva-like peripherals and all.
  13. Like
    spirilis reacted to tripwire in SensorTag Altitude Logger   
    Recently I took a trip to the US, which offered a good opportunity to test my altitude logger by recording a profile of the whole journey there. The trace revealed some interesting details about the flights I took, and airline operations in general.

    Here's the profile for the entire trip:
     

     
    The x-axis shows elapsed time in minutes. The altitude is shown in metres, measured relative to the start of the trace (not too far above sea level). Despite that I'll be using feet as the unit of altitude here, since that's the standard used in aviation. Because the logger calculates altitude based on air pressure, it is affected by cabin pressurisation. Instead of recording the true altitude of the aircraft it gives a trace of the effective altitude inside the cabin.

    The first big peak at the blue cursor is a flight from Edinburgh to London Heathrow. Comparing the cabin altitude trace against real altitude data makes it easier to pick out the main features, so here's a chart showing this flight's altitude as broadcast over ADS-B:
     

     
    And this is a closeup showing what my altitude logger recorded for the same flight:
     

     
    The cursors mark where I think the flight started and finished, based on the fact that the plane was in the air for 70 minutes. From takeoff the pressure falls steadily until the effective altitude in the cabin is about 7000ft, at which point the aircraft is actually at 37000ft. After cruising there for 12 minutes the plane descends and cabin pressure steadily increases.

    The cabin pressure reaches ground level before the plane actually lands, so the trace stays flat for the next 12 minutes. In fact, this section of the trace is effectively below ground level while the plane approaches landing. The plane's environmental control system has deliberately overshot and pressurised the cabin to higher than ambient pressure at the destination. At the orange cursor marking the end of the flight you can see a slight increase in altitude. This is when the flight is over and the controller opens the pressurisation valve to equalise with the external air pressure.

    It seems this extra pressurisation is done before takeoff and landing to help the system maintain a steady pressure. There's a detailed explanation of the reasons for this here: http://aviation.stackexchange.com/questions/16796/why-is-cabin-pressure-increased-above-ambient-pressure-on-the-ground

    Now on to the second flight, which was from Heathrow to Dallas Fort Worth. First the ADS-B trace:
     

     
    And the altitude logger's version of events:
     

     
    Again, the cursors mark the start and end of the flight and line up with the reported duration. The "steps" along the top of the trace match up with changes in cruise altitude from 32000?>34000?>36000ft. Maximum effective cabin altitude is about 5500ft, lower than the first flight even when the lower cruise altitude is taken into account. I think that's down to the use of a newer 777 on the international flight compared to the A319 on the domestic route. Modern planes are increasingly designed to offer lower effective cabin altitudes for passenger comfort.

    The stepped flight profile is used to maximise fuel efficiency. Flying higher reduces losses to air resistance, but early in the flight the aircraft is heavy with fuel and climbing is expensive. As the fuel is burned off the optimal cruise altitude increases, so ideally the plane would climb to match. In fact the plane can't climb gradually because modern air traffic control regulations restrict aircraft to set flight levels. The best option under these restrictions is to perform a "step climb" up to a higher level when it's more fuel-efficient than the current one. The flight levels are multiples of 2000ft for flights from the UK to the US, which is why the steps are 32000->34000?>36000ft.

    Wrapping up, one of the things I hoped to test by recording this journey was high rates of altitude change. The altitude logger can currently handle rates of change up to
  14. Like
    spirilis got a reaction from energia in How does Energia download the .bin file to board?   
    I don't think the source is actually available as IIRC Energia uses DSLite (TI's debugserver lite edition) these days.  But the JTAG unit on the TM4C board is called an "ICDI" so you might be able to find info on that.
  15. Like
    spirilis reacted to tripwire in Casio watch rebuild w/ MSP430   
    It looks like the author also made a tool to use EnergyTrace without needing to install CCS, might be worth a look:
     
    https://github.com/carrotIndustries/energytrace-util
  16. Like
    spirilis reacted to greeeg in MSP-EXP430FR5969 upgrade from 1.2 to 2.0. Can it be done ?   
    I went and dusted off my old FR5969 boards.
     
    Here they are.

    From my memory they only ever sold the two? but maybe they have a newer one.
     
    The left one is the original with experimental silicon not intended for production use. After they released the production variant of the IC they removed this one entirely from the ezFET code, meaning you cannot debug/program it. The ezFET will still work fine programming external chips.
     
    You can check this quickly, the experimental silicon has X430 instead of MSP430.
     
     
    Secondly there are 2 model numbers for each PCB, the Launchpads them selves, 1.6 and 2.0. and then the ezFET 1.0 and 1.2.
     
    I very much doubt that mouser still has inventory of v1.6 launchpads with the ezFET 1.0, this was replaced by rev 2.0 with ezFET 1.2 about 2 years ago. TI even offered free replacement upgrades for everyone who bought them at the time.
     
  17. Like
    spirilis got a reaction from yyrkoon in Tiva C and Max31865   
    Maybe the wiring is wrong?  I have no issues talking to a MAX31855 with my Tiva LP fwiw.  I don't know anything about the MAX31865 but I'd be shocked if it worked much different...
     
    Be sure the Chip Select line is left in a HIGH state when inactive and pulled low before any SPI comms.
     
    e.g. if the MAX31865 CS line is connected to pin 4,
    void setup() { pinMode(4, OUTPUT); digitalWrite(4, HIGH); // set INACTIVE SPI.begin(); Serial.begin(115200); } void loop() { // Read from the chip digitalWrite(4, LOW); // MAX31865 is now ACTIVE and will clock out bytes uint8_t fourbyte[4]; fourbyte[0] = SPI.transfer(0); fourbyte[1] = SPI.transfer(0); fourbyte[2] = SPI.transfer(0); fourbyte[3] = SPI.transfer(0); digitalWrite(4, HIGH); // Deactivate MAX31865 so it releases MISO line for other SPI devices. Serial.print("Output: "); int i; for (i=0; i < 4; i++) { Serial.print(fourbyte[i], HEX); Serial.print(' '); } Serial.println(); delay(1000); // wait 1 second then do it again }
  18. Like
    spirilis got a reaction from tripwire in Quad Thermocouple BoosterPack (MAX31855)   
    The full burn from start to finish (well, it's still simmering but only a few coals left, just enough to keep the downstairs room where the stove is located warm, which incidentally is also the makeshift vestibule where folks put on their socks & shoes before going outside):
     

     
    That overfire ticks me off because I should know better.  There's a compressed sawdust wood briquette product I use for my "endurance" fuel and it's dangerous to stack that stuff too high - it is super dense, burns very long, and up near the insulated ceramic baffles it'll burn uncontrolled since the secondary-combustion burn tubes have unlimited oxygen supply.  Typical light-density hardwood splits like poplar are OK up there because they're self-limiting - they shrink as they burn down and their coals don't last terribly long, but the wood briquettes swell as they burn (making the problem worse) and as I said, they are super dense, there's just a LOT of fuel there.  The inside of the burn tubes were glowing red and the whole baffle was glowing reddish-yellow in spots... The baffle can take it just fine, burn tubes (made of thick stainless steel) can take it too but will warp faster with that kind of usage (so instead of lasting 5-8 years, maybe a few less), but it's just more frightening than anything else.  Plus all the heat I wasted up the chimney!  Yargh.
     
    Quick pic taken during that episode, this is with the draft control (which adjusts primary air only) fully closed to the hard stop:

     
    The flames were so vigorous they were just shooting right into the glass and bouncing off.  Wish I had taken a video instead.  I have a lot of phrases for that situation, "gone nuclear" and "opened the gates of hell" come to mind ;-)
     
  19. Like
    spirilis reacted to zeke in Digital Ocean?   
    I've got my droplet up and running now.
     
    It felt good to dust off the linux admin skills and set everything up.
     
    Here's a screen shot of the speed comparison between my old and new service provider.
     

     
    That's the trigger point for me. Speed. And this is running on their $5/month configuration!
     
    I now like these new guys. Here's my referral link if anyone else wants to try out Digital Ocean for themselves.
     
     
    PS: @@bluehash, I encountered the dreaded myslq crash this morning. I've got it sorted out already. We should compare notes.
     
  20. Like
    spirilis reacted to Apr30 in Digital Ocean?   
    While I was doing research on this I came across Vultr and Scaleway. Don't have any experiences with them, though.
     
     
    Vultr
    * https://www.vultr.com/pricing/
    * 15GB SSD, 768MB RAM
    * 1T Traffic
    * USD 5 + VAT
     
     
    Scaleway
    * https://www.scaleway.com/pricing/
    * 50GB SSD, 2GB RAM
    * Unlimited Traffic
    * 2.99 EUR + VAT
  21. Like
    spirilis reacted to zeke in Digital Ocean?   
    I found this website that seems to have unvarinshed, honest reviews of hosting services:
       http://reviewsignal.com/webhosting
     
    This guy reports that DO is reasonable.
     
    I just need some courage to spin up something called a droplet. Weird.
  22. Like
    spirilis got a reaction from zeke in Digital Ocean?   
    Not using them atm (using atlantic.net when they had a $1/mo promo option available) but I do know someone who works for digitalocean fwiw.
  23. Like
    spirilis reacted to bluehash in TI Store Happy Geek Pride Day! Celebrate with discounted shipping.   
    Shipping within the United States FedEx Ground=$1.00 0000 0001 FedEx Saver (3-day delivery)=$2.00 0000 0010 FedEx Express Economy (2-day delivery)=$4.00 0000 0100 FedEx Overnight PM Delivery=$8.00 0000 1000 FedEx Overnight AM Delivery=$16.00 0001 0000 Shipping outside the United States International Economy=$4.00 0000 0100 International Priority=$16.00 0001 0000     Shop TI store now   Enjoy our shipping discounts!
  24. Like
    spirilis reacted to Rickta59 in Question of memory and C++ object allocation   
    Just because you put the String object on the stack that doesn' t mean the managed string is on the stack.  In fact using the code above you end up making multiple calls to new (really malloc in Energias case)
    Breakpoint 1, setup () at /tmp/build7151962017509443788.tmp/sketch_may24a.cpp:2 2 void setup(); (gdb) b malloc Breakpoint 2 at 0xe6da: file ./stdlib/malloc.c, line 32. (gdb) c Continuing. Breakpoint 2, malloc (size=11) at ./stdlib/malloc.c:32 32 ./stdlib/malloc.c: No such file or directory. in ./stdlib/malloc.c (gdb) where #0 malloc (size=11) at ./stdlib/malloc.c:32 Reading 64 bytes from 0x02c0 #1 0x0000e2aa in String::changeBuffer (this=0x2f8, maxStrLen=10) at /mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430/WString.cpp:159 #2 0x0000e2ec in String::reserve (this=0x2f8, size=<value optimized out>) at /mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430/WString.cpp:150 Reading 8 bytes from 0xe7dc Reading 8 bytes from 0xe7e4 #3 0x0000e31a in String::copy (this=0x2f8, cstr=0xe7dc "0123456789", length=10) at /mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430/WString.cpp:177 #4 0x0000e35e in String::String (this=<value optimized out>, cstr=<value optimized out>) at /mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430/WString.cpp:33 #5 0x0000e098 in setup () at /tmp/build7151962017509443788.tmp/sketch_may24a.cpp:6 #6 0x0000e05a in main () at /mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430/main.cpp:7 (gdb) c Breakpoint 2, malloc (size=1) at ./stdlib/malloc.c:32 32 in ./stdlib/malloc.c (gdb) c Breakpoint 2, malloc (size=5) at ./stdlib/malloc.c:32 32 in ./stdlib/malloc.c As you can see it made at least 3 calls to malloc 11 bytes, 1 byte, and 5 bytes.  The 11, 1, and 5 are requested by the String class.
     
    Although the String class data is going to be put on the stack, that only contains the meta data, like the buffer address, its capacity and len:
    (gdb) p this $5 = (const String * const) 0x2f8 String foo = {buffer = 0x240 "0123456789", capacity = 10, len = 10} The actual allocated buffer comes from heap managed memory, note the address of 0x240 which is much lower address than the address of the String foo metadata living at 0x2f8.  The malloced data represents the actual buffer content length plus a null terminator byte. So 11 bytes 10+1 null and 5 bytes (4 + 1 null).  In the string class the line:
     
    String out; 
     
    ends up allocating 1 byte because an initial value isn't provided so it defaults to "" + null.
     
    In all honesty, you want to avoid using the String class as it is going to eventually fragment memory and fail.  It is a horrible thing to use on chips with hardly any memory.
     
    -rick
     
    BTW: Here is the test code I used:
     
  25. Like
    spirilis got a reaction from greeeg in msp430 security fuse blow   
    IIRC there is some way to recover the Wolverine FRAM chips via a Bootstrap loader sequence or something.  I have no idea how to pull it off though.  Someone encountered this problem early on with the FR5969 LaunchPad when tinkering with the FRAM.
×
×
  • Create New...