Popular Content

Showing most liked content since 10/21/2017 in Posts

  1. 3 likes
    Hi, The new MSP430FR2433 ValueLine Launchpad is with a promotional price. https://e2e.ti.com/blogs_/b/msp430blog/archive/2017/11/08/introductory-price-of-4-30-for-msp430fr2433-mcu-launchpad-kit?HQS=epd-mcu-msp-vline-fb-blog-LPdiscount-wwe&hootPostID=97a463d63a1e96cbf999f3c7a33c703e It seems to be a good replacement to the old ValueLine G2
  2. 2 likes
    Sometimes it is easier to use a separate MSP430 LaunchPad with eZ-FET to flash the G2. I have a MSP430F5529 set up with jumpers to do this and use it on custom boards and the G2 LaunchPad alike. The emulator on the G2 LaunchPad is just flaky at times.
  3. 2 likes
    First of all, welcome to the forum. If I remember correctly, the software serial library isn't supported on the F5529, only on the lower end G2 parts without built in hardware serial. However, it shouldn't be needed as the 5529 has two hardware serial ports. The second serial port would be referred to as Serial1 (e.g. "Serial1.begin" as opposed to the first serial port "Serial.begin"). Refer to the pin outs on energia.nu for the correct pins for each port.
  4. 1 like
    I just got mine yesterday. Ran the Out-of-the-box demo with CCS Could GUI, it's very decent MCU handful of peripherals, ezFET debugger also supports real-time energy profiling.
  5. 1 like
    Hi @GhostArm Try this: https://github.com/fmilburn3/CardReader_RFID_RC522 RE: porting - do a search as there are a number of posts on 43oh
  6. 1 like
  7. 1 like
    The G2553 has only 512 bytes of RAM. Go for a LaunchPad which MCU has more RAM.
  8. 1 like
    I have made a simple implementation of an ANN that runs on the Tiva-C and 5529 using c++. It basically is a spiking neural network where the input is summed, and if above threshold, that neuron fires all the axons with 1 * W. There is also a mechanism of decay of the firing rate each time the neuron runs, and a mechanism to modify the neurons firing time, (the more the sum is, the quicker it fires, with in a range.) So the output from each neuron is always one, but the frequency differs. So, it is a trivial spiking neural network but it works. I already connected 4 light sensors, 4 input neurons, 1 hidden layer of 4 neurons, 2 output neurons to motors, and obtained a robot that goes around the light like a fly. @spirilis are there other implementations for embedded platforms for neural networks, that runs on TI products? would anyone be interested in the ANN code, if i make it opensource will anyone help me to make it better? I would be very interested in modifying it so it runs on the c2000. basically it would benefit from a fpu. all it does is sum and multiply floating point numbers. ~Best
  9. 1 like
    You just need to edit configuration (text) files, and then Energia will call external CLI application (MSP430-Flasher) for downloading code. Interface between TI FET an target device will be handled by MSP430-Flasher that will automatically detect connected FET, not by Energia anymore. Downloading code will be done by upload button on original / unmodified Interface, simple as it is. It is all explained here, but instead my flasher, command line parameters for MSP430-Flasher should be used.
  10. 1 like
    @FredinMcKinney You've probably already done this, but since you didn't mention it... I've had the experience from time to time with the debugger and/or the serial port failing to connect, even while testing. One solution that has pretty consistently worked for me has been to close any application connected to the device (e.g. Energia or CCS) disconnect the device from the USB port, and if connected through a powered external USB port, to power down that entire device. Then, power the port, power the device and restart my app. Aside from that, I have nothing more to add... Bob
  11. 1 like
    AFAIK, any LP is with virtual com port, that is not needed by Energia. I didn't noticed any Energia popup with something like "missing virtual com port", when there was no virtual com port available. As I allready noted, I don't see any problems related to downloading code by SBW with MSP430-Flasher by any LP. Problem is in missing Energia header / library files for unsupported devices.
  12. 1 like
    Last summer I worked on the idea of embedding a USB-to-Serial adapter in Value Line projects so firmware revisions could be done with only a USB cable and the right software, without needing a Launchpad. The adapter chips and modules containing them are now so inexpensive that this makes sense. On the chance that it might be useful to someone, I've written it all up and posted it to Github: https://github.com/gbhug5a/MSP430-BSL The project is summarized in the README, and explained in detail, with needed software and hardware, in the PDF.
  13. 1 like
    Below an example Sketch of how to use the watchdog peripheral with driverlib API calls. This example Sketch will stop feeding the watchdog and reboot the CC3200 after g_ulWatchdogCycles reaches the value of 10. This example was pieced together from the driverlib watchdog examples in the CC3200 SDK. #include "hw_wdt.h" #include "wdt.h" #include "utils.h" #include "prcm.h" #include "interrupt.h" #include "hw_ints.h" volatile unsigned long g_ulWatchdogCycles = 0; typedef void (*fAPPWDTDevCallbk)(); #define WD_PERIOD_MS 1000 #define SYS_CLK 80000000 #define MILLISECONDS_TO_TICKS(ms) ((SYS_CLK/1000) * (ms)) void setup() { boolean bRetcode; Serial.begin(115200); Serial.println("**************************************************"); Serial.println("* CC3200 Watchdog Test *"); Serial.println("**************************************************"); // // Set up the watchdog interrupt handler. // WDT_IF_Init(WatchdogIntHandler, MILLISECONDS_TO_TICKS(WD_PERIOD_MS)); bRetcode = MAP_WatchdogRunning(WDT_BASE); if (!bRetcode) { Serial.println("Watchdog failed to run. Shutting down"); WDT_IF_DeInit(); while (1); } } void loop() { Serial.print("Watchdog interrupt count: "); Serial.println(g_ulWatchdogCycles); delay(1000); } void WatchdogIntHandler(void) { // // After 10 interrupts, switch On LED6 to indicate system reset // and don't clear watchdog interrupt which causes system reset // if (g_ulWatchdogCycles >= 10) { MAP_UtilsDelay(800000); return; } // // Clear the watchdog interrupt. // MAP_WatchdogIntClear(WDT_BASE); // // Increment our interrupt counter. // g_ulWatchdogCycles++; } void WDT_IF_Init(fAPPWDTDevCallbk fpAppWDTCB, unsigned int uiReloadVal) { // // Enable the peripherals used by this example. // MAP_PRCMPeripheralClkEnable(PRCM_WDT, PRCM_RUN_MODE_CLK); // // Unlock to be able to configure the registers // MAP_WatchdogUnlock(WDT_BASE); if (fpAppWDTCB != NULL) { MAP_IntPrioritySet(INT_WDT, INT_PRIORITY_LVL_1); MAP_WatchdogIntRegister(WDT_BASE, fpAppWDTCB); } // // Set the watchdog timer reload value // MAP_WatchdogReloadSet(WDT_BASE, uiReloadVal); // // Start the timer. Once the timer is started, it cannot be disable. // MAP_WatchdogEnable(WDT_BASE); } void WDT_IF_DeInit() { // // Unlock to be able to configure the registers // MAP_WatchdogUnlock(WDT_BASE); // // Disable stalling of the watchdog timer during debug events // MAP_WatchdogStallDisable(WDT_BASE); // // Clear the interrupt // MAP_WatchdogIntClear(WDT_BASE); // // Unregister the interrupt // MAP_WatchdogIntUnregister(WDT_BASE); }
  14. 1 like
    I downloaded Energia 1.6.10e18 I am programming an msp430g2452 I am using LanchPad MSP-EXP430G2 to program my part (on a custom board via spi-by-wire) I am running Energia on Windows 7 I ran update on Energia MSP430 boards via Boards Manager to version 1.0.2 When compiling I get the following errors: In usi_spi.cpp I had to change a couple of instances of spi_tx to spi_send (fixed code below): void spi_transmit16(const uint16_t data) { spi_send(data & 0xFF); spi_send((data>>8) & 0xFF); } void spi_transmit(void *buf, uint16_t count) { uint8_t *p = (uint8_t *)buf; if (count == 0) return; while(count){ spi_send(*p++); count--; } } Code then compiles, but doesn't run properly. The warnings are: To fix the clock problem, in msp430g2452.h I had to add a section defining the TLV data (added at line 760): /************************************************************ * Offest Indexed TLV Data in Mem ************************************************************/ /* TLV Calibration Data Structure, Datasheet Table 9 */ #define TAG_DCO_30 (0x01) /* Tag for DCO30 Calibration Data */ #define TAG_ADC10_1 (0x10) /* Tag for ADC10_1 Calibration Data */ #define TAG_EMPTY (0xFE) /* Tag for Empty Data Field in Calibration Data */ #ifndef __DisableCalData #define TLV_CHECKSUM_ 0x10C0 /* TLV CHECK SUM */ const_sfrw(TLV_CHECKSUM, TLV_CHECKSUM_); #define TLV_DCO_30_TAG_ 0x10F6 /* TLV TAG_DCO30 TAG */ const_sfrb(TLV_DCO_30_TAG, TLV_DCO_30_TAG_); #define TLV_DCO_30_LEN_ 0x10F7 /* TLV TAG_DCO30 LEN */ const_sfrb(TLV_DCO_30_LEN, TLV_DCO_30_LEN_); #define TLV_ADC10_1_TAG_ 0x10DA /* TLV ADC10_1 TAG */ const_sfrb(TLV_ADC10_1_TAG, TLV_ADC10_1_TAG_); #define TLV_ADC10_1_LEN_ 0x10DB /* TLV ADC10_1 LEN */ const_sfrb(TLV_ADC10_1_LEN, TLV_ADC10_1_LEN_); #endif /************************************************************ * ADC Calibration Data Mem Offsets (offset from 0x10DA) ************************************************************/ /* Datasheet Table 10 */ #define CAL_ADC_25T85 (0x0010) /* Index for 2.5V/85Deg Cal. Value */ #define CAL_ADC_25T30 (0x000E) /* Index for 2.5V/30Deg Cal. Value */ #define CAL_ADC_25VREF_FACTOR (0x000C) /* Index for 2.5V Ref. Factor */ #define CAL_ADC_15T85 (0x000A) /* Index for 1.5V/85Deg Cal. Value */ #define CAL_ADC_15T30 (0x0008) /* Index for 1.5V/30Deg Cal. Value */ #define CAL_ADC_15VREF_FACTOR (0x0006) /* Index for ADC 1.5V Ref. Factor */ #define CAL_ADC_OFFSET (0x0004) /* Index for ADC Offset */ #define CAL_ADC_GAIN_FACTOR (0x0002) /* Index for ADC Gain Factor */ /************************************************************ * DCO Calibration Data Mem Offsets (offset from 0x10F6), Datasheet Table 10 ************************************************************/ /* Datasheet Table 10 */ #define CAL_DCO_16MHZ (0x0002) /* Index for DCOCTL Calibration Data for 16MHz */ #define CAL_BC1_16MHZ (0x0003) /* Index for BCSCTL1 Calibration Data for 16MHz */ #define CAL_DCO_12MHZ (0x0004) /* Index for DCOCTL Calibration Data for 12MHz */ #define CAL_BC1_12MHZ (0x0005) /* Index for BCSCTL1 Calibration Data for 12MHz */ #define CAL_DCO_8MHZ (0x0006) /* Index for DCOCTL Calibration Data for 8MHz */ #define CAL_BC1_8MHZ (0x0007) /* Index for BCSCTL1 Calibration Data for 8MHz */ #define CAL_DCO_1MHZ (0x0008) /* Index for DCOCTL Calibration Data for 1MHz */ #define CAL_BC1_1MHZ (0x0009) /* Index for BCSCTL1 Calibration Data for 1MHz */ Now code compiles and runs properly on the processor. I have not tested out SPI data yet, so I'm not 100% that it works. Just thought people might like to know, thanks! msp430g2452_fixed.h usi_spi_fixed.cpp
  15. 1 like
    I have only used the NRF24L01 between MSP430s and not with an Arduino - however, did you read through the Wiki? https://github.com/spirilis/msprf24/wiki Regarding pipes, see this: http://forum.43oh.com/topic/10228-nrf24l01-pipe-addressingad/#comment-76349
  16. 1 like
    A quick test confirms that replacing SoftwareSerial with Serial compiles with both versions of Energia.
  17. 1 like
    Of course, as I look at the code now, I see that the simple solution would be to use Serial and, as you note, attach to the correct pins (P3.3,P3.4). I built my system before Energia 18... Time to go back and refactor!!! I went and looked at my current code: It uses Serial...
  18. 1 like
    @dubnet The "midnight weave" is the nudging head bumps in and about the ankles while walking. In the dark it can be disconcerting, to say the least... As to memories: When I was about 12, more than five decades back, I lived on a rural patch of land in what is now a wealthy community in the SF East Bay. One sight I still remember is one of our cats perched on the top of a fence, and as our collie mix wandered by, the cat decided that he could use the dog as a landing zone, being about half the distance to the ground. When he landed, the dog bolted and the cat deployed and planted his claws to hang on. So, much like a rodeo cowboy, he's hanging on for dear life as the dog is galloping down the driveway... A sight to remember.
  19. 1 like
    @NurseBob Not familiar with that one, but they do have an infinite bag of tricks. A memorable experience was when I was young.... I stayed over at friend's house in Southern California and slept on a pull out couch sofa bed. They had a cat with a bell on it's collar. The room was fairly dark but I could hear the cat moving about the room, and then silence. The cat would then launch from his perch on the back of the couch and land on my head or body. I would shoo him off and the process would repeat, until I determined he was having far more fun than I was and wouldn't quit this game any time soon, At that point I prevailed upon my friend to put the cat on lockdown for the night.
  20. 1 like
    @dubnet > Your cats may seem to have forgiven you but they are just waiting for the right opportunity... So, you're familiar with the "Midnight Weave" while trying to descend stairs in the dark?
  21. 1 like
    Tiva Eagle Library All TM4C123xxxPM and TM4C129xxxPDT parts are now included. Two parts now, will add remaining 3 123xxxPM's in few days ( TM4C123[0,2,A]xxPM, TM4C123[6,F]xxPM, and TM4C123[7,G]xxPM ) Just one part for now, TM4C123[1,3,B]xxPM (for example TM4C1231C3PM) Content: TM4C123[0,2,A]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[1,3,B]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[6,F]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[7,G]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C129xxxPDT - 128 pin TQFP package - PDT (S-PQFP-G128) ti-tiva.lbr (updated 4/25/14)