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 NurseBob in F5529LP + GPS MT3339 + RockBlock7 9602 Iridium Sat-Comm DIY "spot me"   
    I just sold my old '06 Yamaha Majesty (big scooter) with 34K.  I bought it new and rode it a fair amount to work... not too many pleasure trips unfortunately.  175K is Holy Shit!!!!!
  2. Like
    spirilis reacted to NurseBob in F5529LP + GPS MT3339 + RockBlock7 9602 Iridium Sat-Comm DIY "spot me"   
    My wife wants to know that when I do my John Muir Trail trek starting on 7/26/2016 I've not fallen down and can't get up, or been eaten by a bear...
    So, I've been building my DIY "SpotMe" Iridium Network-based GPS-Satellite Comm device. 
    I've gotten to the basic level of communication; It reports my position on a regular basis (the following is from a morning conditioning hike). 
    To my surprise, when I set the deconstructed system up on my kitchen table, it managed to both get a GPS fix AND successfully transmit the data to an Iridium satellite.  Given that there is really no "sky" visible from my kitchen, a better than expected performance! 
    Why build it when I could buy similar? Well, why not???  Similar to Dave Jones' "take it apart" I'm a firm believer in DIY to figure out how something works, and can I make one...
     
    Future travel plans: I do "Iron Butt" rides on my 2005 ST1300 - now with 175,000+ miles (there's no typo there, I've really driven that far on my bike...), and I'm planning to do 300 mile sections of the Pacific Crest Trail for the next 10 years. So, again, keeping the wife happy and "in the know."  So, this will be something I plan to use on a regular basis over the next several years.
     
    Once finished with the project I will publish all code, hex and design files for those who have an interest.
     
    Finally, thanks to all who have helped me.  Especially Robert Woodruff, yyrkoon, and Spirilis.
     
    Bob
     
    http://www.nursebobsblog.org - currently stale content, updates planned for after the hike and teaching again...
     
    On 7/14/2016 at 09:01:47 PDT Bob was here:  https://www.google.com/#q=%2B38.564295,-122.432641 -Aprx Elev.: 1676 ft
    On 7/14/2016 at 09:14:44 PDT Bob was here:  https://www.google.com/#q=%2B38.572575,-122.428550 -Aprx Elev.: 1645 ft
    On 7/14/2016 at 09:25:53 PDT Bob was here:  https://www.google.com/#q=%2B38.575296,-122.433725 -Aprx Elev.: 1644 ft
    On 7/14/2016 at 09:36:38 PDT Bob was here:  https://www.google.com/#q=%2B38.580748,-122.431888 -Aprx Elev.: 1784 ft
    On 7/14/2016 at 09:50:50 PDT Bob was here:  https://www.google.com/#q=%2B38.582575,-122.431873 -Aprx Elev.: 1743 ft
    On 7/14/2016 at 10:05:25 PDT Bob was here:  https://www.google.com/#q=%2B38.574358,-122.427476 -Aprx Elev.: 1564 ft
    On 7/14/2016 at 10:16:14 PDT Bob was here:  https://www.google.com/#q=%2B38.569375,-122.423606 -Aprx Elev.: 1740 ft

    No visible sky, from inside my kitchen:
    On 7/14/2016 at 11:34:57 PDT Bob was here:  https://www.google.com/#q=%2B38.539415,-122.471001 -Aprx Elev.: 593 ft
     

  3. Like
    spirilis reacted to NurseBob in Porting Arduino code to MSP   
    Re: Soldering - I use OSHPark and OSHstencil for my prototypes and have no problem with my reflow toaster oven "system" (temperature tracked on my Fluke 87V and time with a simple kitchen timer). I've reflowed 0.5mm chips without incident. I've not tried any BGA, so that's unexplored territory. But for one-offs it's been a successful approach.
     
    Now, if I could just remember to properly mirror parts and think in 3D when designing PCBs in Eagle...
  4. Like
    spirilis reacted to Rickta59 in Porting Arduino code to MSP   
    If you are planning to make your own PCB the atmega328p comes in several small packages.
     
    .8 pitch 32 pin tqfp
    .4 pitch 28 pad vqfn 4x4mm
     
    https://octopart.com/search?q=atmega328p
     
    I don't see the advantage of using an msp430. Which one do you think is going to be smaller than the AVR version?
  5. Like
    spirilis reacted to terjeio in Compact command parser/dispatcher example   
    @@zeke - ok I'll try, here is the setEchoMode function as I have implemented it:
    bool setEchoMode (char* params) { echo = parseInt(params) != 0; return true; } echo is a boolean variable - command will be either "Echo:0" (off) or "Echo:1" (on - in fact any parameter value diferent from 0 will set echo to true).
    this version relies on my parseInt function, code can be simplified to:
    bool setEchoMode (char* params) {     echo = *params == '1';     return true; } with improved parameter checking and proper status return:
    bool setEchoMode (char* params) { if(*params == '1') { echo = true; return true; } else if(*params == '0') { echo = false; return true; } else return false; } I am using ":" as command/parameter separator, I have added this to the command in the command list so easy to change.
  6. Like
    spirilis reacted to zeke in Compact command parser/dispatcher example   
    I was just thinking about this command line stuff as I work on my marquee clock code.
     
    My way is so cumbersome and tedious if I want to add in more commands.
     
    You way is pretty straight forward.
     
    <YOINK!>
     
    Thanks!
  7. Like
    spirilis got a reaction from Fmilburn in Will this cause a problem? Two serial devices on same UART pins   
    Yes the main problem is the I/O pins on most digital devices have ESD protection (electrostatic discharge) which is intended to "drain off" excess voltage above Vcc or below GND into the Vcc or GND planes where it can hopefully get absorbed by capacitors or shunted through the GND plane or whatever.... but those basically involve a pair of diodes reverse-biased. (wish I had a pic handy, too lazy to find one)
    edit:

     
    The problem happens when you apply a legitimate (3.3V we'll say) signal to the I/O pin of a device whose Vcc is at GND potential (i.e. it's powered down).  The protection diodes faithfully do their job, shunting that "excess voltage" to the Vcc rail, which then powers the chip.  Oops!
     
    The answer is to use some sort of bus transceiver or Level Shifter to truly "disconnect" the powered-down device.  I have done this (using a TI TXB series level shifter) for SPI bus pins with great success.
  8. Like
    spirilis got a reaction from NurseBob in Will this cause a problem? Two serial devices on same UART pins   
    Yes the main problem is the I/O pins on most digital devices have ESD protection (electrostatic discharge) which is intended to "drain off" excess voltage above Vcc or below GND into the Vcc or GND planes where it can hopefully get absorbed by capacitors or shunted through the GND plane or whatever.... but those basically involve a pair of diodes reverse-biased. (wish I had a pic handy, too lazy to find one)
    edit:

     
    The problem happens when you apply a legitimate (3.3V we'll say) signal to the I/O pin of a device whose Vcc is at GND potential (i.e. it's powered down).  The protection diodes faithfully do their job, shunting that "excess voltage" to the Vcc rail, which then powers the chip.  Oops!
     
    The answer is to use some sort of bus transceiver or Level Shifter to truly "disconnect" the powered-down device.  I have done this (using a TI TXB series level shifter) for SPI bus pins with great success.
  9. Like
    spirilis reacted to NurseBob in Why the UART TX channel would not empty!   
    I think that can lead to re-entrant ISRs if the interrupts are enabled inside an ISR. Risky business...
  10. Like
    spirilis got a reaction from abecedarian in How accurate is Millis()?   
    IIRC, it does, but only under sleep() and sleepSeconds() mode.  Higher resolution is available via DCO which is why it uses it.  Just not necessarily the best accuracy I guess...
  11. Like
    spirilis reacted to Rickta59 in How accurate is Millis()?   
    Why don't you just use the DS3232 as the TimerA clock source?
  12. Like
    spirilis got a reaction from chicken in LaunchFET: Tag connect for launchpad   
    eZFET Adapter board, updated to reflect the new pin locations (just ordered 6 from oshpark)-

     
    Gerbers: OSH_TC2030_eZFET_Adapter_v3_0.zip
    DipTrace footprints for TC2030 + SBW, optionally eZFET UART: TC2030-TI-SBW-eZFET.zip
  13. Like
    spirilis got a reaction from yyrkoon in Compiler optimization traps for the unaware   
    Yeah Go really goes about it a bit differently, the "implicitly satisfied interfaces" becomes your rough method of inheritance and class-ishness I guess.  It's working well enough for me so far.
  14. Like
    spirilis reacted to yyrkoon in Compiler optimization traps for the unaware   
    @@spirilis
     
    So I picked up that book for go lang you mentioned above. Partly because of what you said here. But also very recently I talked with another developer for the project I've been writting test software for lately. Who pretty much started out in C exactly how I did gamedev, and reading Andre Lamothe's programming books . . . but anyhow he is writing the functional application code for this same project using GO . . . So now, I'm forced to read this book on a new object oriented language that uses no classes, inheritance . . . etc heh. Sounds interesting so far !
     
    Sorry @@chicken, but I did not know where else to post this . . .
  15. Like
    spirilis reacted to Fmilburn in Have feedback for TI? Please share here.   
    Thanks @@bluehash - appreciate the feedback.
     
     
    I normally avoid debates on topics like this because they are seldom fruitful but can't help myself today.  Getting started with embedded electronics is difficult for a hobbyist if they don't have the background.  It requires knowledge of software, microcontrollers at the register level, electronics, mechanical interfaces....  Pretty daunting if you don't have at least some background and access to a community of people willing to help you learn.  Energia / Arduino / Wiring has done a lot to give that access.
     
    I don't think it is any different than gardening, woodworking, or hobbyist astronomers using amateur tools and the skills they have to do something they enjoy.  Besides with that head start you can always dive deeper.  And lots of valuable contributions have been made by enthusiasts using amateur tools in all kinds of fields.
     
    My thanks to TI for their support - it is much appreciated.
  16. Like
    spirilis got a reaction from Rickta59 in Windows 10   
    What kind of errors?  I have Windows 10 Professional (laptop came with it preinstalled though) and no problems, but I will note I made sure to install all the TI drivers in signature-ignore mode (i.e. hold Shift while clicking the Restart menu option under Start>Power, select reboot to options menu, select option 7 after the reboot for booting with no driver signature verification, then install drivers in that special mode).  I did the same thing when I installed CCSv6 too.
  17. Like
  18. Like
    spirilis got a reaction from NurseBob in Seeking advice - MSP430F5529 C/C++ vs Energia   
    The Energia framework itself doesn't really play well with the MSP430 USB API from what I recall. There is a "USBSerial" example shipping with Energia but it's mostly a hacked up example using an old version of the MSP430 USB API (pre-driverlib if I'm not mistaken).
     
    With straight CCS C/C++ you can use the MSP430 USB descriptor tool to generate custom USB setups.
  19. Like
    spirilis reacted to Fmilburn in New MSP430FR5994 LaunchPad Development Kit   
    I didn't know that it had all of that signal processing capability that I don't really need.  So I ordered one too
     
    EDIT: free shipping in the US right now.  Couldn't resist.
  20. Like
    spirilis reacted to Fred in New MSP430FR5994 LaunchPad Development Kit   
    I'm really trying not to buy Launchpads when they come out just because they sound cool. I have way too many already, some of which have hardly been used.
  21. Like
    spirilis reacted to yyrkoon in Compiler optimization traps for the unaware   
    @@spirilis Funny you say  "the K in AWK" because most people know him as the K in K&R But to be honest, I'm, not a big fan of the book . . . because by the time I figured out much of C, K&R code looked so trivial / basic that it couldn't keep my interest.
  22. Like
    spirilis reacted to tripwire in Compiler optimization traps for the unaware   
    If anything I'd have expected: 5, 4, 1, 3, 2, 0 (sorted by key rather than value or insertion order). That's what you'd get out of a std::map in C++. The C++ standard library designers originally avoided the issue of unspecified map iteration order by only permitting ordered maps, and hash-based maps were not officially included until C++11.
     
    In terms of performance, it looks like the randomisation in go is a random start offset rather than a complete shuffling of the iteration order. That's just enough to prevent anyone from relying on the order from one iteration to the next.
     
    They might also have some random input into the hash function which would jumble the ordering between program runs. Apparently that can also be implemented to defeat hash collision DoS attacks when user-provided values are used as map keys.
  23. Like
    spirilis got a reaction from tripwire in Compiler optimization traps for the unaware   
    Fwiw Go is actually compiled.  With a bit of a binary runtime that "tags" along and manages the threading subsystem + garbage collection... but the Go compiler actually has its own assembler & linker and circumvents the use of any "C" code whatsoever.  The compiler used to be built as a C program for quite a while but around 1-2 major releases back, they ditched the C portion and it's now written entirely in Go from what I read
     
    Mind you, Go is written by Rob Pike (think Plan9), Ken Thompson (think UNIX) formerly of Bell Labs... and their team of folks at Google along with other input/help/contributed libraries from the open source community at large.  The book that introduced me to the language, "The Go Programming Language", was coauthored by Brian Kernighan (also of Bell Labs and the 'k' in the AWK utility under Unix).  These guys pretty much know what they're doing.  Anyway enough threadjacking
  24. Like
    spirilis got a reaction from yyrkoon in Compiler optimization traps for the unaware   
    Fwiw Go is actually compiled.  With a bit of a binary runtime that "tags" along and manages the threading subsystem + garbage collection... but the Go compiler actually has its own assembler & linker and circumvents the use of any "C" code whatsoever.  The compiler used to be built as a C program for quite a while but around 1-2 major releases back, they ditched the C portion and it's now written entirely in Go from what I read
     
    Mind you, Go is written by Rob Pike (think Plan9), Ken Thompson (think UNIX) formerly of Bell Labs... and their team of folks at Google along with other input/help/contributed libraries from the open source community at large.  The book that introduced me to the language, "The Go Programming Language", was coauthored by Brian Kernighan (also of Bell Labs and the 'k' in the AWK utility under Unix).  These guys pretty much know what they're doing.  Anyway enough threadjacking
  25. Like
    spirilis got a reaction from tripwire in Compiler optimization traps for the unaware   
    I personally find it a good thing, in that this is creating a programming environment where the likelihood of mental blindspot-like errors is low.  Combining Go with an IDE that actively syntax-checks, like Visual Studio Code (the javascript side project of the M$ VS team), I've found that I can write Go code that usually works pretty much perfectly as expected ... sometimes on the first compile.  I'm quite pleased with what Google and the Go team are doing here.  Alas, to each his own
×
×
  • Create New...