Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by greeeg

  1. PCBs arrived today. Glad the Tab & Route worked well, this is the first time I've used it far a panel. It is essential for this as the PCB shape doesn't have any straight edges for V-scores. The tabs could be smaller, but they snap nicely and a few passes with 400 grit cleans up the edges if needed. Next step, assemble them. The GPS SAW filter is probably the smallest part I've ever soldered. A 5 pin package the size of a 0402 cap *
  2. Thought this idea looked familiar from a TI app note. Found it pretty quickly. "Crypto-Bootloader (CryptoBSL) for MSP430FR59xx and MSP430FR69xx MCUs" (SLAU657) A little different, does not use USB, but rather the BSL interface. (likely as a drop in replacement for existing products) It uses AES for encryption. but they mention the API calls are generic enough to enable changing this (for MCUs without an AES module for example) Link: http://www.ti.com/lit/pdf/SLAU657
  3. @@yosh The original units used a PA6C unit from G.Top These units will use a uBlox MAX-M8 module. This is a GPS + GLONASS GNSS. So there should be a performance increase there. Also the uBlox configuration software enables you to alter a huge amount of parameters to fit with the use case of the final product. I've used some LEA and NEO modules and was very impressed, but haven't had the original units to do a direct comparison between them. Unfortunately the PCB geometry and physical form factor play a role in performance too, so it's hard to compare with a bench-top setup vs the port
  4. Maybe not useful, but are you running this on a G2 launchpad? P1.1,P1.2 are connected to the debugger, removing the serial link should isolate them.... But, P1.3 is connected to a switch, and actually has a pull-up and debounce cap (R34/C24) populated on the PCB. this will mess with the capacitive sense, and drain the parasitic capacitance before it can be measured.
  5. The 5 units in the field have been working quite well. I've been learning alot, Typically my projects have been on the prototype scale. Even just stepping up to 5 or 10 makes you think about small optimizations in the design phase. The GPS modules were chosen because they had integrated antennas, and were cheap! (very cheap!) ($12 from Chinese sources) this helped keep the overall unit cost low. but obviously had some unforeseen issues. One of the 5 units is much less sensitive to GPS as the others, I'm scheduled to have the units back to look into this. The eratic / jerky motion of the do
  6. See " Initializing Structure Members" Here https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Declaring-Structure-Variables-After-Definition There are a few other ways to assign constant data in structures. It's not normally seen, I'm not sure why. I find it much easier to read/understand.
  7. greeeg

    The Marquee Clock

    @@zeke That's quite a speedup. About 0.5% by my calculation. No where near the +\-50ppm a watch crystal should run at. If you don't have enough capacitance loading on your crystal it will run faster (or maybe slower...). It's important to get the loading right, esspecially for a 32.768 kHz crystal, since small changes in oscillating frequency add up over time. Since the F5529 doesn't have internal load caps they should be external. What value are your loading caps currently? (looks like they're C16 and C17 on your PCB) Do you have a datasheet for the crystal you're using?
  8. Nice! Thanks for sharing. The thing I like about your approach is that you could easily alias different commands for a "human readable form" and a binary/automated form. (If needed) Eg "Status" and "s" ... "Status", &getStatus, false, "s", &getStatus, false, ...
  9. Everytime you power cycle the card you will need to perform the initialization sequence again. Something like this SD_PWR_ON(); FATFS fs; disk_initialize(0); // Re-initialize the SD card pf_mount(&fs); // mount Fat FS pf_open("logfile.txt"); // re-open file pf_lseek(fs.fsize); // seek to end of file pf_write(...); // Write block of data Note that if the disk is re-initialized then you really should be performing pf_mount and pf_open again. Also be aware of the limitations when using PetietFS for writing to files. Cannot create file. Only existing file can be written. Cannot
  10. I received mine a few weeks ago. I was surprised too! But I can see the reason. From my work work with SD cards, cheap ones can vary wildly with regards to write speeds/current consumption. I'm sure the Sandisk ones are much more consistent.
  11. Something cool I've found out about these 4x6cm PCBs. shave off about a mm from one side and the fit perfectly into Hammond aluminium extrusion 1455D602 (http://www.hammondmfg.com/1455V2.htm) [Not affiliated, just thought it might benifit someone]
  12. Sounds like they have 2 "units". And they communicate their position via a separate parallel buses. 3 bits in, 3 bits out. The position is stored like you suggest in one of 16 places that is transmitted via this bus to the other unit. @@tony777 I see you need to use assembly language. It's really not that different from C in most regards. Start by working on individual functions, lcd_init, lcd_write, user_pushbutton_wait. Write each function separately with a way to test each one. Example of the push button, when the button is pushed toggle pin with a LED connected, etc. You'll
  13. Ahh year are right! J103 is the JTAG signals that can program a target. When I was looking at the PCB silkscreen I assumed they were JTAG connector to reprogram the XDS110 itself. I only tested the JTAG connector with a 0.05" 2x5 cable to a custom target board I have.
  14. The isolation block on the MSP432 only include a serial channel and power Sadly I don't think it can do it, short of removing the MSP432 and soldering bodge wires to the JTAG signals.
  15. Hey @@OzGrant I have not used the tivaC platform. I wasn't sure on TI's implementation of CPU registers. I've fired up Energia (looks like the you're using that) Both of these look like they'll work Either: // After running this instruction the system should reset (*((volatile uint32_t *)NVIC_APINT)) |= NVIC_APINT_SYSRESETREQ; // Never reached Or: // include at top of file #include <inc/tm4c123gh6pm.h> // After running this instruction the system should reset NVIC_APINT_R |= NVIC_APINT_SYSRESETREQ; // Never reached Both should compile to the same binary instructions. N
  16. From @@zeke's wording of the agreement it sounds like it's more an initial consultation fee. Taking on new projects is tricky, and in his own words Of course you need to uphold the value of your services in the work output you present
  17. I don't use TivaC much. But it looks like you can. See the reset sources in the processor manual, taking (http://www.ti.com/tool/ek-tm4c123gxl) for example It states you can perform a system reset request from software. So it looks like all you have to do is set a flag within a register. If you wish to simulate an external reset, I believe system reset is what you'd be doing. The core reset will not reset peripherals. ----Edit: added example code ---- void app_panic( void ) { // An application error has occurred that cannot be recovered from. APINT |= SYSRE
  18. That does make sense though. FPGAs would use smaller feature sizes than a MSP430. IIRC MSP430 makes use of a large feature size primarily to achieve ultra-low leakage currents. As you travel into some of these FPGAs the same (or reverse-engineered) logic chains will run faster than an IC with a larger feature size (increased capacitance, higher voltages, etc) In fact the limiting factor is possibly a mixture of all the discussed points. OpenMSP is pretty cool, you can add instances of as many peripherals as you want. Or even make your own. I believe you loose all analog functi
  19. Source code is super simple, since the MSP debug stack is doing all the work. Just quickly compiled it on my PC, looks great! Just spits out a continuous stream of values, which you can pipe into a gnuplot etc. Turns your launchpad into a current sensor for any (3.6v only) application.
  20. The funny part about "higher grade" parts. They'll only be higher grade if you can get them to work. World-semi don't release demo/driver software. and this does look like a very new part. You might need to roll your own code. PS: Any code on this forum, probably won't work directly on Arduino.
  21. 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 sel
  22. I couldn't select a shipping method. It just defaulted to $4 (Economy, international) Which is fine, since that's the cheapest method for me. But maybe the same issue you we facing @@dubnet
  23. @@roadrunner84 Only devices requiring High-voltage fuse blow feature a real 'fuse' I know that the FRAM line is just a software 'fuse' which disabled JTAG access, using the BSL with an unknown password allows you to erase the device, and in the process unlock the device. I believe the really early devices (FR5739) had this problem with mspdebug, since this 'fuse' was located in the interrupt vectors... I had to use a launchpad to enter the BSL and erase the device a few times. I didn't think this was a problem with newer devices.
  24. For the Sensor yes. But it requires a secondary co-processor (OPT9221) a 256NFBGA. Which requires a 144MHz DDR2 memory interface. The datasheet recommends a minimum 6 layer PCB. Still do-able if you really wanted to. But does kinda push it outside of a weekend project territory.
  • Create New...