Energia, the fork of the Arduino IDE and SDK for the LaunchPad boards, is no longer maintained. The last release 1.8.10E23 was published in December 2019.
The official tools from Texas Instruments are Code Composer Studio, based on Eclipse with an online variant, and the SimpleLink SDK for the ARM Cortex-M MCUs, and Uniflash as uploader.
msp430-lg-core's Introduction
msp430-lg-core's People
Forkers
barawn zacmanchester battosai30 lambertusijsselstein buzzmarshall eurol rentiu30 iamarcadie hellvesper mb3hel jk128 lewisa1202msp430-lg-core's Issues
Pins come up HIGH when set to OUTPUT
Should pins start as low when set to OUTPUT with pinMode()? Check Arduino / Wiring spec and match msp430 code if different.
MSP430F5529 Wire module 0 does not work with Serial
Seems that Wire set to module 0 conflicts with Serial. Serial stops working if Wire.setModule(0) is called in setup. Individually they work.
Error for PLACE_IN_FRAM on MSP430FR2433
Using the implementation of PLACE_IN_FRAM
defined at #31, compiling against the MSP430FR2433 raises an error.
- Boards package MSP430 1.0.3
- Energia 1.8.5E19.
"/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/bin/msp430-g++" -c -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=msp430fr2433 -DF_CPU=8000000L -DARDUINO=10805 -DENERGIA=10805 -DENERGIA_MSP_EXP430FR2433LP -DENERGIA_ARCH_MSP430 -I/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/include "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp430/1.0.3/cores/msp430" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp430/1.0.3/variants/MSP-EXP430FR2433LP" "/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/arduino_build_642383/sketch/Blink.ino.cpp" -o "/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/arduino_build_642383/sketch/Blink.ino.cpp.o"
/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T//ccHKv3sW.s: Assembler messages:
/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T//ccHKv3sW.s:49: Warning: ignoring changed section attributes for .text
Sketch is
uint8_t LED PLACE_IN_FRAM;
void setup() {
LED = RED_LED;
// initialize the digital pin as an output.
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Sketch can be uploaded and run, but the variable placed in RAM can only be read, not written, so the red LED doesn't blink.
initClocks in MSP430's wiring.c doesn't initialize BCSCTL2 properly and double-calls enableXtal
From @barawn on June 3, 2016 21:11
The initClocks function for MSP430s based on Basic Clock Module+ (with BC2) doesn't really initialize BCSCTL2 properly. All it does in initClocks() is:
/* SMCLK = DCO / DIVS = nMHz */ BCSCTL2 &= ~(DIVS_0); enableXtal();
In fact, that code does nothing, because DIVS_0 is 0, so ~(DIVS_0) is 0xFF, and BCSCTL2 is an 8-bit register, so bitwise-anding it with 0xFF does nothing. I think what is desired here was actually "BCSCTL2 &= ~(DIVS_3)", namely, clearing all of the DIVS bits.
By the user's guide, BCSCTL2 should start up at 0, so this shouldn't be a problem, but it would be a lot more readable to explicitly replace that with
/* SMCLK = DCO / DIVS = nMHz */ BCSCTL2 = SELM_0 | DIVM_0 | DIVS_0;
so that it's obvious exactly what the SMCLK and MCLK are being set to.
I removed enableXtal() there because it's actually called at the end of that function anyway. enableXtal takes a huge amount of time if the crystal's not present, so calling it twice has a big downside.
Copied from original issue: energia/Energia#888
MSP430FR5994 — Large Arrays in FRAM Error
THE MSP430FR5994 provides 256 KB of FRAM, of which 262,144 bytes are continuous (Main: code memory 043FFFh–004000h, cf. MSP430FR5994 , 6.15 Memory Map Table 6-41. Memory Organization).
How to declare two arrays in R/W mode of 30,000 bytes each?
uint8_t frameOld[30000] __attribute__ ((section(".text"))); // PLACE_IN_FRAM;
uint8_t frameNew[30000] __attribute__ ((section(".text"))); // PLACE_IN_FRAM;
The previous code throws errors at linking, typical of memory overflow.
/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/bin/../lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: /var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/arduino_build_291843/FRAM_EPD.ino.elf section '.text' will not fit in region 'rom'
/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/bin/../lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: section .vectors loaded at [000000000000ff80,000000000000ffff] overlaps section .text loaded at [0000000000004400,0000000000019e83]
/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/bin/../lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: region 'rom' overflowed by 55586 bytes
/Users/ReiVilo/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/bin/../lib/gcc/msp430/4.6.3/mcpu-430x/mmpy-16/libcrt0.a(_copy_data.o): In function '__do_copy_data':
/Users/rwessels/mspgcc/BUILD/gcc/gcc/../../../gcc/gcc/config/msp430/crt0.S:195: relocation truncated to fit: R_MSP430_16_BYTE against symbol '__data_load_start' defined in ABS section in /var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/arduino_build_291843/FRAM_EPD.ino.elf
...
Does memory.x
at ~/Library/Energia15/packages/energia/tools/msp430-gcc/4.6.5/msp430/lib/ldscripts/msp430fr5994/memory.x need to be customised, and how?
Thank you!
Debugging Doesn't Stop at Breakpoints
Using mspdebug
with the correct release of libmsp430.so
(see #24) allows to upload and debug.
However, debugging doesn't stop at the breakpoints.
The test is based on the blinky example, with libmsp430.dylib
provided with Energia renamed as libmsp430.so
.
mspdebug --v
gives MSPDebug version 0.23
and libmsp430.dylib
is dated Jun 19, 2016.
- mspdebug
$ /Applications/IDE/Energia.app/Contents/Java/hardware/tools/msp430/bin/mspdebug till gdb
Device: MSP430F5529
Bound to port 2000. Now waiting for connection...
Client connected from 127.0.0.1:55761
Clearing all breakpoints...
Breakpoint set at 0x446e
Running
- msp430-gdb
$ /Applications/IDE/Energia.app/Contents/Java/hardware/tools/msp430/bin/msp430-gdb
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin11.4.0 --target=msp430".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
(gdb) file '/Users/ReiVilo/Documents/Projets/Xcode/e-522-CC1310/e-522-CC1310/Builds/embeddedcomputing.elf'
Reading symbols from /Users/ReiVilo/Documents/Projets/Xcode/e-522-CC1310/e-522-CC1310/Builds/embeddedcomputing.elf...done.
(gdb) target remote localhost:2000
Remote debugging using localhost:2000
reset_vector_ () at ../../../gcc/gcc/config/msp430/crt0.S:105
105 ../../../gcc/gcc/config/msp430/crt0.S: No such file or directory.
in ../../../gcc/gcc/config/msp430/crt0.S
(gdb) break 'e_522_CC1310.ino':27
Breakpoint 1 at 0x446e: file e_522_CC1310.ino, line 27.
(gdb) enable 1
(gdb) info br
Num Type Disp Enb Address What
1 breakpoint keep y 0x0000446e in loop() at e_522_CC1310.ino:27
(gdb) c
Continuing.
... but program doesn't stop as expected at the breakpoint!
Temboo SendAnEmail example no longer fits
Possibly related to #34
MSP430F5529 : String(uint16_t) fails
From @rei-vilo on August 28, 2016 17:13
Result for String()
is
12345 @
instead of
12345 12345
- Code
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
delay(600);
Serial.println("***");
uint16_t value = 12345;
Serial.print(value, DEC);
Serial.print("\t");
Serial.println(String(value));
}
void loop()
{
}
Copied from original issue: energia/msp430-ng-core#3
FR5994 — SD Detect P7_2 Not Listed
The SLAU678a mentions SD Detect
connected to P7_2
.
However, it isn't listed in file MSP-EXP430FR5994LP/pins_energia.h.
SD Detect
is a very useful signal. Shouldn't be included?
MSP430FR5739 Conflicting Pins Definitions
Lines 84-86 and 92-94 are conflicting on pins_energia.h for MSP430FR5739.
msp430-lg-core/variants/MSP-EXP430FR5739LP/pins_energia.h
Lines 84 to 86 in 0bb691f
and
msp430-lg-core/variants/MSP-EXP430FR5739LP/pins_energia.h
Lines 92 to 94 in 0bb691f
Using AnalogRead(ACC_X)
doesn't return a valid value, AnalogRead(16)
does.
Add Support for Second UART
For example, only one UART eUSCI_A0 UART
on LaunchPad pins 3
=RX
and 4
=TX
is implemented on the MSP430FR2433.
How to use the second hardware UART eUSCI_A1 UART
on LaunchPad pins 14
=RX
and 15
=TX
?
Thank you!
Add FRAM attribute to Energia
FRAM is an exclusive technology, but how to leverage it for large arrays?
Please document how to use FRAM as RAM with Energia.
[MSP430G2553] sleep() sleepSeconds() duration issue
Hi,
When I run a simple blink using sleep() or sleepSeconds() instead of delay(), the durations are not respected. I did not make a precise measure, but the factor seems to be 10x ( sleepSeconds(1) seems to lead to a 10s pause, sleep(500) seems to lead to a 5s pause ...).
I just re-installed 1.0.3 msp430 core to be sure (I will try with previous versions). Not tested on other microcontroller. Original lauchpad 32768 Hz crystal is soldered. Windows 10
Code :
void setup() {
pinMode(P1_0,OUTPUT);
}
void loop() {
digitalWrite(P1_0,HIGH);
sleepSeconds(1);
digitalWrite(P1_0,LOW);
sleepSeconds(1);
}
Error in tone duration calculation for MSP430
From @robertinant on December 14, 2013 18:33
Details are in forum post: http://forum.43oh.com/topic/4729-error-in-tone-duration-calculation/
Copied from original issue: energia/Energia#302
MSP430F5529 : undefined reference to `operator new[](unsigned int)'
Using new
against the MSP430F5529 raises an error.
undefined reference to `operator new[](unsigned int)'
Maybe energia/msp430-ng-core will support it?
Cross posted with https://github.com/energia/msp430-ng-core/issues/2
FR5994 — Mutually Exclusive PWM Outputs
What are the mutually exclusive PWM outputs for the FR5994?
For example, for the FR6989,
PWM 8 or 40
PWM 11 or 34
PWM 12 or 36
PWM 13 or 35
PWM 14 or 45
PWM 15 or 43
PWM 19 or 39
PWM 38 or 46
Two Repositories for MSP430 MCUs
There are two repositories for the MSP430 MCU family.
What lg
and ng
stand for?
Also posted at energia/msp430-ng-core.
C99 compilation options
Hi,
i'm trying to use a LoraWan library (Lmic) on MSP430F5529LP, i got it to work on arduino uno without any problems, how ever on the MSP430F5529LP i'm getting some errors like:
code:67: error: expected primary-expression before '.' token
after some research i found out that the library requiers Arduino IDE version 1.6.6 or above, since it requires C99 mode to be enabled by defau, t so is it possible to enbale the C99 mode in compilation options,if so , how can i do it?
Thanks
MSP430F5529 : undefined reference to `operator new[](unsigned int)'
From @rei-vilo on August 25, 2016 11:47
Using new
against the MSP430F5529 raises an error.
undefined reference to `operator new[](unsigned int)'
Maybe energia/msp430-ng-core will support it?
Cross posted with #15
Copied from original issue: energia/msp430-ng-core#2
MSP430FR2433 - Wrong A0 pin
A0 is defined as
static const uint8_t A0 = 1;
in pins_energia.h but it should be
static const uint8_t A0 = 2;
Hardware I²C No Longer Works on MSP432G2553 and MSP430FR5994
Targeting the MSP430G2553 and using the BME280 sensor.
Please refer to https://forum.43oh.com/topic/13153-cant-get-bme280-to-work-with-msp430g2554/ for more details.
Add all ports to WInterrupt.c
Right now only P1 through P4 are taken into account for attachInterrupt(). Some MSP430's have interrupt capability on all ports. WInterrupt.c should be changed to allow for those ports to be valid.
Compiler warnings because of board naming.
From @RickKimball on June 29, 2016 15:56
The compiler produces a "command-line" warning because the '-' character is used in the board name
MSP-EXP430FR5969LP ( this is true for all boards with a dash)
$ "/mnt/vbox/shared/Downloads/energia-1.6.10E18B6/hardware/tools/msp430/bin/msp430-g++" -c -g -O2 -Wall -Wextra -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=msp430fr5969 -DF_CPU=8000000L -DARDUINO=10610 -DENERGIA=10610 -DENERGIA_MSP-EXP430FR5969LP -DENERGIA_ARCH_MSP430 -I/mnt/vbox/shared/Downloads/energia-1.6.10E18B6/hardware/tools/msp430/include "-I/mnt/vbox/shared/Downloads/energia-1.6.10E18B6/hardware/energia/msp430/cores/msp430" "-I/mnt/vbox/shared/Downloads/energia-1.6.10E18B6/hardware/energia/msp430/variants/MSP-EXP430FR5969LP" "/tmp/build2eea903822402328ee22efe1219ad0fa.tmp/sketch/ASCIITable.ino.cpp" -o "/tmp/build2eea903822402328ee22efe1219ad0fa.tmp/sketch/ASCIITable.ino.cpp.o"
:0:12: warning: missing whitespace after the macro name [enabled by default]
If you remove the '-' it compiles without warnings -DENERGIA_MSP_EXP430FR5969LP
Additionally, if you actually try to use the macro it creates more warnings
#ifdef ENERGIA_MSP-EXP430FR5969LP
void some_function_conditionally_included(void)
{
return;
}
##endif
/tmp/build1e32f1dce53658bb7281a24918dc9d1c.tmp/sketch/other.cpp:5:19: warning: extra tokens at end of #ifdef directive [enabled by default]
Copied from original issue: robertinant/EnergiaNG#10
RAM for MSP430FR2433?
Line 42 in ea12956
Doesn't the MSP430FR2433 feature 4 KB of RAM?
MSP-EXP430FR2433LP.upload.maximum_data_size=4096
- Boards package MSP430 1.0.3
- Energia 1.8.5E19.
Update MspFlash.cpp to support MSP430F5529
From @astuder on January 8, 2014 15:53
MSP430F5529 does not have the clock divider register (FCTL2), which breaks MspFlash.cpp.
In addition, the examples in the family guide check the BUSY flag in FCTL3 before/after write and erase operations. This might be required for reliable operation. (note that the function of this flag is different in the G family).
Error message and suggested solution see:
http://forum.43oh.com/topic/4900-problem-using-mspflash-example-with-mspf5529-launchpad
Copied from original issue: energia/Energia#315
Support for GCC MSP430 6.4.0.32?
Current GCC tool-chain for MSP430 is versioned 4.6.5
but is limited to 64 KB.
I gave a try to GCC MSP430 6.4.0.32
with options -mlarge -mcode-region=upper -mhwmult=auto
.
Surprise is, variable and code sizes are significantly bigger.
- With GCC MSP430
4.6.5
for blink against MSP430G2553
Estimated Flash: 1114 bytes used (2.3% of 48128 maximum), 47014 bytes free (97.7%)
Estimated SRAM: 22 bytes used (1.0% of 2048 maximum), 2026 bytes free (99.0%)
- With GCC MSP430
6.4.0.32
for blink against MSP430G2553
Estimated Flash: 1936 bytes used (4.0% of 48128 maximum), 46192 bytes free (96.0%)
Estimated SRAM: 152 bytes used (7.4% of 2048 maximum), 1896 bytes free (92.6%)
This may rise issues for the MSP430G2553 but not for the MSP430F5529, MSP430FR5969, MSP430FR5994 and MSP430FR6989 with large Flash and RAM.
I haven't explored yet projects which size is larger than 64 KB.
Are there a roadmap and a release date for the support of GCC MSP430 6.4.0.32
with projects larger than 64 KB?
Thank you!
How to Add Support for MSP430G2955
Supply board manager JSON files
It would be good if the MSP430 package indexes were available for the boards that get pre-installed in Energia, so that we can have a working example to start from. I've been totally unable to make a custom board install via the Board Manager since I'm pretty much workinng blind.
non ascii characters in source #765
From @RickKimball on June 29, 2016 16:0
Same issues as before:
$ file $(find . -iname 'hard*')
./cores/msp430/HardwareSerial.h: C++ source, ASCII text
./cores/msp430/HardwareSerial.cpp: C source, Non-ISO extended-ASCII text
Copied from original issue: robertinant/EnergiaNG#11
SPI on energia, documentation, begin-/endTransaction
From @baettigp on January 31, 2016 13:34
Hi, I am trying to port a library (for the ADS1258) over from an Arduino uno to a MSP430F5529 as I am running out of resources (RAM, and in a next step pins).
I am trying to get the SPI side working now and noticed that on the energia website many of the spi documentation pages still seem to reference the arduini (uno, due, mega) instead of the MSP variants. http://energia.nu/reference/spi/spi_setclockdivider/ does unfortunately not tell me how to set the spi clock I need (4 MHz) with the 25 MHz F5529.
Also, is it planned to implement the
SPI.beginTransaction(SPISettings(SPI_SPEED, xSBFIRST, SPI_MODEy));
and SPI.endTransaction functions into energia?
Copied from original issue: energia/Energia#837
Wrong .ccxml file name for MSP-EXP430FR6989
The file MSP-EXP430FR6989.ccxml should be MSP-EXP430FR6989LP.ccxml in the DSLite package.
MSP430FR4311 — Issue with Serial
The following basic sketch doesn't display anything on none of the two serial ports from the MSP430FR4311 LaunchPad.
The same sketch with the same USB cable works fine on the MSP430FR6989 LaunchPad.
All jumpers except CTS and RTS are set. I'm facing the same issue on both macOS and Windows. I'm using MSP430 boards package release 1.0.3.
#define LED RED_LED
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println(millis());
digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
CCS 6.2 / Energia 18 libmsp430.so Release Conflict
There is a release conflict for the libmsp430.so
file (also known as libmsp430.dylib
) between CCS 6.2 and Energia 18.
Have a way to avoid enableXtal
enableXtal is a pretty costly function - it runs at startup and if the crystal isn't present, it delays code execution for 2 seconds. It'd be really nice if there were a way to avoid it.
In my recent projects, what I've done is expose "enableXtal" in Energia.h, and give it a weak attribute in wiring.c. This allows me to override it in the main sketch with an empty function, which gets rid of the 2 second delay at startup, but examples that do depend on the crystal work perfectly fine.
Make `pack_somnium_gcc.sh` OS-aware
The pack_somnium_gcc.sh
script is not OS-aware and thus proceeds with the download of the msp430-gcc-6.2.1.16
four times (Linux 32, Linux 64, macOS, Windows).
Making it OS-aware would save time, space and bandwidth!
usb_hid_feat
From @a-bhat1 on March 26, 2015 14:25
Add USB HID library and example to Energia. The included example sends to and receives echoed data from the micro-controller.
Copied from original issue: energia/Energia#580
Updates to USB end function for MSP430
From @StefanSch on May 20, 2016 7:4
fixes issue reported in #884
gives the option to disable the XTAL on USB::end
Copied from original issue: energia/Energia/pull/885
MSP430 analogRead does not switch channels cleanly
From @BigVulcanDeal on April 7, 2013 22:49
The Analog Read function does not seem to allow for quick switching between input pins. Often, when switching to a new pin, the routine will return a sample from the previously sampled pin instead.
Below are two routines that might permit for a cleaner implementation of Analog Read. This logic has been used in a system that samples three analog signals, on a round-robin basis, in excess of 30k times/second (hence over 90k samples per second).
// --- analogPinSelect is a routine that is used by
// myAnalogRead(int pin) in order to select the designated A/D pin
void analogPinSelect(int pin){
if (pin < 8){
ADC10CTL0 &= !ENC; // disable conversion
ADC10CTL1 = pin << 12;
ADC10CTL0 |= ADC10ON + ENC + ADC10SHT_0;
}
}
// --- myAnalogRead(int pin) is a routine that reads a given A/D
// port on an MSP430G2553. The routine is blocking in nature
// and it is not particularly efficient, but it avoids some of the
// problems of the build in Energia "analogRead(int pin)" routine
// in particular, this routine can cleanly switch across several A/D input ports
// whereas Energia's analogRead() has problems when using more than one port.
int myAnalogRead( int pin){
analogPinSelect(pin); // select the pin
ADC10CTL0 |= ADC10SC; // start conversion
while(ADC10CTL1 & ADC10BUSY);
return ADC10MEM;
}
Copied from original issue: energia/Energia#223
MSP430G2553 — Flash +19% and RAM +57%
The same blink
sketch compiled executable inflates 19%, and RAM usage increases +57%.
This is especially critical for the MSP430G2553 with 512 bytes available!
- Using
msp430/bin/msp430-size
,
text data bss dec hex filename
758 0 14 772 304 Blink3.ino.elf with Energia 12
text data bss dec hex filename
900 0 22 922 39a Blink3.ino.elf with Energia 18 and MSP430 1.0.2
- Code
uint8_t myLED;
void blink(uint8_t pin, uint8_t times, uint16_t ms, bool level = true);
void setup()
{
myLED = RED_LED;
pinMode(myLED, OUTPUT);
}
void loop()
{
blink(myLED, 3, 333);
delay(1000);
}
void blink(uint8_t pin, uint8_t times, uint16_t ms, bool level)
{
for (uint8_t i = 0; i < times; i++)
{
digitalWrite(pin, level ? HIGH : LOW);
delay(ms >> 1);
digitalWrite(pin, level ? LOW : HIGH);
delay(ms >> 1);
}
}
Error compiling for board MSP-EXP430FR5994LP with release 1.0.2
Error compiling for board MSP-EXP430FR5994LP.
/Applications/IDE/Energia.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware "/Applications/IDE/Energia.app/Contents/Java/hardware" -hardware "/Users/ReiVilo/Library/Energia15/packages" -tools "/Applications/IDE/Energia.app/Contents/Java/tools-builder" -tools "/Applications/IDE/Energia.app/Contents/Java/hardware/tools/msp430" -tools "/Users/ReiVilo/Library/Energia15/packages" -built-in-libraries "/Applications/IDE/Energia.app/Contents/Java/libraries" -libraries "/Users/ReiVilo/Documents/Projets/Energia/libraries" -fqbn=energia:msp430:MSP-EXP430FR5994LP -ide-version=10610 -build-path "/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/build2b41f88c4b9135c49eb220355a1bdfa8.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/untitled1017913555.tmp/sketch_aug25a/sketch_aug25a.ino"
Board MSP-EXP430FR5994LP (platform msp430, package energia) is unknown
Error compiling for board MSP-EXP430FR5994LP.
macOS: MSP430F5529 Debug Interface Version
MSP430FR4133 — Issue with I²C
The MSP430FR4133 uses software I²C on pins 9 and 10 for compatibility. However, only SCL signal seems to be generated.
The same sketch with the same INA226 BoosterPack works fine on the MSP430FR6989 LaunchPad. According to the schematics, SCL and SDA have 10 kΩ pull-up resistors.
I'm using MSP430 boards package release 1.0.3.
#include "Wire.h"
#define INA226_I2C_ADDRESS 0x40
#define INA226_REGISTER_MANUFACTURER_ID 0xfe
#define INA226_REGISTER_DIE_ID 0xff
int16_t read16(uint8_t address)
{
int16_t value = 0;
Wire.beginTransmission(INA226_I2C_ADDRESS);
Wire.write(address);
Wire.endTransmission();
Wire.requestFrom(INA226_I2C_ADDRESS, 2);
while (Wire.available() < 2)
{
Serial.print(".");
}
value = Wire.read();
value <<= 8;
value += Wire.read();
return value;
}
void setup() {
Wire.begin();
Serial.begin(9600);
}
void loop() {
Serial.print("5449 ? ");
Serial.println(read16(INA226_REGISTER_MANUFACTURER_ID), HEX); // 5449
Serial.print("2260 ? ");
Serial.println(read16(INA226_REGISTER_DIE_ID), HEX); // 2260
delay(100);
}
generated define for board not valid
The energia framework generates define which identifies the selected board.
e.g.
-DENERGIA_MSP-EXP430F5529LP
this is an invalid define as defines does not allow the '-' character.
the compiler also reports an warning which i assume corresponds to that.
:0:12: warning: missing whitespace after the macro name [enabled by default]
This might happen for other boards as well - so a replace of '-' with '_' might be a good option when generating the defines.
ASCIITable no longer compiles
ASCIITable no longer compiles after this check-in robertinant/EnergiaNG@c0956a8
USCI_Ax and USCI_Bx share the same TX interrupt vector. When I moved the I2C files from the core into the Wire library, the i2c_xyz_isr function where no longer picked up because the Wire library is not included and hence not compiled / linked. Reason why I moved them into the library is that that is where there belonged all along.
DriverLib uses some new core function which are not supported by GCC4.6
__get_SR_register()
__data16_write_addr(x,y)
are not supported by GCC4.6
Flash size reportedly used doesn't match actual size
Using an msp430g2553 I created a small sketch. The informational message says it is using 782 bytes however it is really using 872 + 32 (interrupt vectors) bytes
Sketch uses 782 bytes (4%) of program storage space. Maximum is 16,384 bytes.
Global variables use 32 bytes (6%) of dynamic memory, leaving 480 bytes for local variables. Maximum is 512 bytes.
/mnt/vbox/shared/github/EnergiaNG/build/linux/work/hardware/tools/msp430/bin/mspdebug rf2500 --force-reset prog /tmp/build1e32f1dce53658bb7281a24918dc9d1c.tmp/Debounce.ino.hex
MSPDebug version 0.22 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2013 Daniel Beer <[email protected]>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Trying to open interface 1 on 036
rf2500: warning: can't detach kernel driver: No data available
Initializing FET...
FET protocol version is 30066536
Set Vcc: 3000 mV
Configured for Spy-Bi-Wire
Sending reset...
Device ID: 0x2553
Code start address: 0xc000
Code size : 16384 byte = 16 kb
RAM start address: 0x200
RAM end address: 0x3ff
RAM size : 512 byte = 0 kb
Device: MSP430G2553/G2403
Number of breakpoints: 2
fet: FET returned NAK
warning: device does not support power profiling
Chip ID data: 25 53
Erasing...
Programming...
Writing 872 bytes at c000...
Writing 32 bytes at ffe0...
Done, 904 bytes total
http://energia.nu/packages/package_energia_index.json missing files
I tried to install the msp430 package from the url above into the real Arduino version 1.9.10 it failed with this message:
Error downloading http://energia.nu/downloads/download_core.php?file=msp430-1.0.1.tar.bz2
Default Analog Read Resolution Inconsistent
From @croberts15 on January 28, 2016 17:1
The default analog read resolution should be consistent across all boards at 10 bit, however when testing I was getting a default of 12-bit for 5529, 6989, and tm4c123. The msp432 was 10-bit.
Copied from original issue: energia/Energia#834
usbutil: unable to find a device matching 0451:f432
FR5994 — Two Analog Inputs Share the Same Pin
In file MSP-EXP430FR5994LP/pins_energia.h lines 106 and 110, two analog inputs A5
and A9
share the same pin 28
.
static const uint8_t A5 = 28;
static const uint8_t A9 = 28;
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.