Jump to content
43oh

DeepBlueSky

Members
  • Content Count

    26
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by DeepBlueSky

  1. I didn't try attaching any further I2C devices. I suggest you open a new topic for your problem. The solution will surely be helpful to others too. Yes, you can delete the unneeded entries from the smaller fonts (the bigger fonts only have number already because they won't fit into this IC), but see the code for the bigger fonts and adjust it (basically change to s.charAt(j)-'0').
  2. Check this out http://forum.43oh.com/topic/10061-msp430g2553-ssd1306-oled-i2c-11x16-font/
  3. Edit 09.12.2016: I added Arial_16x24.h and Arial_24x40 (really a 24x36, but I had to keep a multiple of 8), digits only, created with GLCD Font Creator (I had to edit the result slightly manually). See images below. So I can confirm that adding any further fonts created with GLCD Font Creator works (I run it on Linux on wine BTW) and is only limited by how much fits into the SSD1306_OLED_5x8_11x16_16x24_24x36_fonts.zip
  4. Thanks for suggesting an SD alternative. If the alternative has a much lower power consumption (or should I say the SD has too much) and doesn't have the same problems SDs have, and offers other superiorities, then I'm ok with a higher price. Something external to which the chip writes/logs data to, which later can be transferred to PC, would be very nice (logging data so something which can be later put on PC for further processing is kind of essential). The reason I thought about raw LCDs first is that they can have big digits, are relatively power efficient and have relatively good con
  5. Nice project. I've heard a msp430g2553 has problems to get a SD card working (to e.g. log data). So this would work with your project then? Any work done for raw LCD support so it/or a certain type kind of works out of the box?
  6. Hello, I bought a Sparkfun ML8511 UV sensor breakout and set it up according to this. It kind of works / I have a weird problem: No matter the voltage (3V or 3.3V), the sensor output values change periodically very strongly: Closer to UV-AB source: ~1.5 to ~10.5 to ~1.5 and so on (with more steps in between) (distance of course doesn't change). More away from the UV source: ~0.2 to ~1.5 to ~0.2 and so on. When I attach a 1.5V battery constant voltage source as a test, the displayed value is indeed rather constant ranging from 4.39 to 4.59, so it must be the sensor's problem? Google-i
  7. I also say one forum for all TI chips instead of "devide and conquier". As some other said, I too didn't even know of some of the other chip forums. Filtering of e.g. msp430 only content would indeed be good. Do the merge if the server can handle it, lagging is annoying for users and more tend to go away then, I hope hosting Energia doesn't slow down the server. Looking forward to Ipboard v4.0 although I personally prefer open source software/forums like phpbb, but there must be a reason why you use Ipboard.
  8. Thanks, I'll try it out. At the moment it didn't work maybe because I did already so many things from tutorials (of which nothing worked) and I was planing to do a fresh OS install anyway (Ubuntu 14.10 64bit), then I'll try again. If it won't work, that's not so bad in my case because I want a portable Lux meter anyway and will use a Nokia 5110 LCD. *edit* After a fresh OS install and unpacking the original archive energia-0101E0014, it unfortunately doesn't work (weird, I remember it working without doing anything). Anyway I'll connect the Nokia LCD and try reading the sensor now. *edit* Go
  9. Nice, it compiles after a few changes (<Adafruit_Sensor.h> to "Adafruit_Sensor.h") now, but unfortunately the Serial Monitor doesn't output anything at all. I tried a simple Serial. example but still no output. The MSP430G2553 is on the LaunchPad rev. v1.5 but the following code is not working. I remember the Serial Monitor working with using basically the same Serial code, weird that it is not working now. void setup() { Serial.begin(9600); } void loop() { Serial.print("Hello"); delay(500); } It seems there are problems with Linux. I'll look at it.
  10. Hello, I bought an Adafruit TSL2591* shield but unfortunately it looks like there's no lib for MSP430s. There's code for Arduino and some posts about the TSL2561. Unfortunately I don't have any experience with I2C and hope/wonder if someone is interested to get it running on the MSP430s? That's a really nice sensor. * :
  11. Nagios is indeed a good suggestion. "out of memory" could mean a memory leak (as also suggested by roadrunner84), make sure you have at least the latest supported version of each software. I'm not sure if it's normal to buy more memory just because you get this error once a week or so, because it looks more like a bug/memleak. A forum/DB may run slower with less memory but a they shouldn't stop running altogether.
  12. I'm not sure / I don't think so: Before I decided to ask I already commented out the debug code because it gave me a compile error right away "multiple definition of `__isr_9'". Using different ports also works (DHTPIN P1_3, LED P1_2) when millis() (see below) is commented out. grahamf72, you indeed solved it for yourself As already said your code doesn't work for me. However, when I comment out if (millis() < _lastMillis) { return _lastResult; // return last correct measurement } _lastMillis = millis() + 1; in DHT22_430.cpp it seems to work It looks like the millis() can'
  13. I tried your code and also switched to your ports but it's the same without adding delay: LED does not blink if I breathe at the sensor. ("#define DEBUG" is commented out too). The sensor gets its data when restarting the chip but doesn't get its data when it's running/waking up when in LPM3 and without delay(1000). Maybe you should test again. What seems to work is when I comment out if (millis() < _lastMillis) { return _lastResult; // return last correct measurement } _lastMillis = millis() + 1; Because in my case I do a "millis()"/waiting by entering the interrupt routin
  14. Touching the sensor it seems rather cold, no warming. The thing is it needs this delay(1000) only in LPM3, not LPM1. Maybe clock related? In LPM3 SMCLK is, as roadrunner84 also mentioned, turned off, but I don't know. It's strange. LPM2 BTW is same as LPM3. From msp430g2452.pdf:
  15. I edited the cpp file and commented out the #if defined(DEBUG)...#endif, as I was indeed having problems compiling the code, which I should have mentioned, sorry.
  16. I tried your version again and it compiles with __bic_status_register_on_exit, but has the same problem as mentioned earlier. Yes, it does work in LPM1, no delay(1000) needed (it's the version in my first post). But when using LPM3 it only works with delay(1000) (as in my post #5). Without the delay in LPM3 I can wait as long as I want, the sensor still doesn't return any valid value.
  17. Yes, that's why it is set to every 3 seconds. The delay(100)s come after this time has passed. But there's a problem which I tracked down: Using e.g. TACCR0 = 12000 and the if(wakeupCounter % frequency == 0) and setting any frequency doesn't work at all, even 10s. What also doesn't work at all is setting TACCR0 = 60000 and removing the if(...), so it only checks every 5s (which should be more than enough). By "at all" I mean that the sensor just doesn't return a valid value. It seems that the sensor needs a busy wait of approx 1 second (it's like only this delay(1000) starts the time of the
  18. Your code gave this error: In the msp430g2452.h header file I found ... #define LPM3 _BIS_SR(LPM3_bits) /* Enter Low Power Mode 3 */ #define LPM3_EXIT _BIC_SR_IRQ(LPM3_bits) /* Exit Low Power Mode 3 */ ... and replaced the line with LPM3_EXIT. Is this the same as your line? It compiles but unfortunately does not improve power consumption (700
  19. I decided to build an air humidity alarm so I know when to air (you can also attach a piezo buzzer, which is more recognizable in some situations). I found/use this lib. Chip: MSP430G2452 (this I had left, I think it's overkill for this task) -- Problem solved. Thanks to all who helped. To solve the problem I decided to comment out if (millis() < _lastMillis) { return _lastResult; // return last correct measurement } _lastMillis = millis() + 1; in DHT22_430.cpp because I think the millis() doesn't run below LPM1. I also don't need the millis() because I already wait in interru
  20. Thanks, you are right, it goes up to 2^32 ? 1, whereas ld doesn't. void loop() { counts=4294967296-1; sprintf(string,"%ld",counts); myScreen.text(0,0,string); sprintf(string,"%lu",counts); myScreen.text(0,1,string); delay(100000); }
×
×
  • Create New...