Jump to content

greeeg

Members
  • Content Count

    561
  • Joined

  • Last visited

  • Days Won

    53

Everything posted by greeeg

  1. Hi all, So basically instead of buying another one of those desk calendars that you tear of each day as it goes by I decided to make use of an epaper display from Sparkfun (that up until last week had been collecting dust) to create a digital daily calendar. The screen fits 20 16 segment digits on 2 lines. This gives enough room to display the current day of the week, and date. It is powered by a Li-ion cell from an old laptop battery, rated at 2.4Ah. (My estimates put the battery dying in about 200 years, as this draws ~20mAh for ~6 seconds every 24 hours ) This was originally a launchpad project but I ported it to a F2013 board by changing one line, Shows how universal the code is The current hardware consists of a F2013 board that I got free from TI during one of their promo's. The board is soldered directly to the back of the epaper breakout board. The code is attached. The 2kb of flash available on the MSP430F2013 didn't give much wriggle room. currently the code compiles with about 64 bytes of flash free. Due to the sparkfun breakout board not breaking out the enable pin for the on board boost circuit I found to achieve reasonable low power consumption I had to connect the power Pins of the display to IO pins on the MSP430F2013 main.c
  2. The launchpad only offers SBW debugging, not the 4 wire JTAG interface used on the 4619. You could however use the inbuilt serial bootloader (BSL).
  3. Thanks for that. I didn't mention it but my way, I think, is only for gcc. I can't use IAR or CCS. due to the fact I'm on a mac.
  4. I bought a bulk bag of 200 of these guys. used 64 on a 4x4x4 RGB LED matrix and destroyed/lost 9. So I'm left with 127. I really have enough unfinished electronic stuff in my room to keep me occupied for years, and I saw how much people here like RGB LEDs . These are common anode waterclear lens type, 5mm, 4 lead. The pins would need to be bent to fit into a breadboard/0.1" header. 10 for $5. reasonable offers may be accepted, with accompany project desc. Buyer pays shipping fees. (International airmail letter ~$5) Prices in USD payments via paypal
  5. All modern MSP chips to my knowledge feature a small area of "information memory". To my knowledge this is the equivalent to internal EEPROM on a PIC or AVR. Using mspgcc we can easily store an array of constant data into infomem. all that is required is a single attribute tag. For example in my current project I have an array of font data. by moving it to infomem I saved 192 bytes of flash. (Strictly speaking infomem is flash :think: So don't be worried about wearing it out anymore than flash ) Anyway here is the code /* "Compressed" font data, in form 0b ABCD EFGH IJKL MNOP {A-P} represent segment bits in each character __J_ _A__ |\ | /| | K H B | L \ | / C | \|/ | >-M--*--D-< | /|\ | N / | \ E | O I F | |/ | \| ~~P~ ~G~~ */ const unsigned int font_data[] __attribute__((section(".infomem"))) = { 0x0000,0xC101,0x0110,0x3B89,0x9BD9,0x5BDA,0x0F6D,0x4000, 0x4400,0x0022,0x55AA,0x1188,0x0002,0x1008,0x0001,0x4002, 0xEA57,0x6800,0xB24D,0xDA41,0x3818,0x8659,0x9A5D,0xA840, 0xBA5D,0xBA59,0x0041,0x0042,0x4203,0x1209,0x0621,0xB0C0, 0xAACD,0xB85C,0xBBC1,0x8255,0xABC1,0x825D,0x805C,0x9A55, 0x381C,0x83C1,0x81C5,0x441C,0x0215,0x6834,0x2C34,0xAA55, 0xB05C,0xAE55,0xB45C,0x9A59,0x81C0,0x2A15,0x4016,0x2C16, 0x4422,0x40A0,0xC243,0x0055,0x0420,0xAA00,0x0402,0x0201, 0x0020,0x028D,0x009D,0x000D,0x018D,0x000F,0x9188,0x1E01, 0x009C,0x0080,0x0081,0x1580,0x03C0,0x188C,0x008C,0x008D, 0x015C,0x03D8,0x000C,0x1081,0x1388,0x0085,0x0006,0x0A85, 0x4182,0x0E01,0x000B,0x8388,0x0180,0x11C1,0x3150,0x0000, }; This one line of code is what does all the magic. This tells the linker to move this block of data into the infomem region. __attribute__((section(".infomem"))) Be warned the infomem region often contains calibration data for the DCO, it would be wise to make a note of what these values are. In case you accidentally store data over them. This can easily be done using this command mspdebug rf2500 'md 0x10FE 0x2' *The address 0x10FE applicable for the the value line devices. This command will open mspdebug, connect to the device and dump 2 bytes from address 0x10FE, on the value line devices these 2 bytes are the DCO calibration values. An interesting side note about the attribute command. is that it could be used to position a function into infomem. However Some MSP430 devices are unable to execute commands from infomem. (or maybe it's just the MSP430f5438 )
  6. Nice Innovative use of LEDs. In the video you stated that you were buffering the output from the LED. Is that to boost the voltage given out by the LED? I'm just interested if the MSP's inbuilt ADC could detect that voltage itself. OR if the inbuilt comparator of the MSP430G2211 could detect the small voltage change.
  7. I Believe that the MSP430 is powerful enough to run as a USB 1.1 device. However you would have to write your own software to emulate it, very complex. There are a few larger MSP430s in the 5xx family that contain hardware USB 2.0 modules. and TI has documented many example projects to do with mass storage and Human interface devices.
  8. I haven't actually given this much thought. for the video I used a sheet of paper with a hole cut in it to hide my launchpad. The launchpad has a 6 pin debug header which was powering the device
  9. This small project combines a MSP430G2231, Found in the launchpad. and a small size 4 character dot matrix display. To create a very small scrolling LED display. Here is a video: (Looks like I can't embed it due to lack of posts ) Unfortunately the display features 4 distinct 5x7 modules inside of it with gaps between each one. But by scrolling text "behind" these gaps, the human brain can bee fooled into seeing a relatively legible assortment of letters. Scrolling speed can be altered currently the speed is nearish to the maximum I can easily distinguish. The two timer compare modules are being used to: increment time, scroll display. and the watchdog interrupt used to multiplex the display. I have code that displays and increments time and date. But haven't finished it yet. Hopefully I can get that done soon. then get back to my previous project the arrowlog. :think: If there are any suggestions as to what this can be used for I would love to hear them. :thumbup:
  10. I don't know exactly. make some pretty graphs Yes I shoot a compound bow at a local club. and yes again the PCB was from dorkbot, laen does an excellent job.
  11. Hello fellow MSP430ers (is that the correct term), I've been using MSP430 chips for a couple months now, but this is my first time on this forum. Formalities aside, I have been working on a project to log flight pattens of arrows. I call it the arrowLog, it consists of 3 ICs : MSP430f2013, MMA7455, and a 25DF041a. As of right now I haven't written much software for it (made it blink some leds ) My hope is that I'll be able to use the MSP430 to read Acceleration data from the MMA7455 and store it in the dataflash IC. then later read out the results to a computer via a timer based UART. I included buttons and leds onto the design if I wanted to add fancy features, like starting/stopping datalogging. Here is some pictures of the prototype I have built. As of now I wont release the schematics unless anyone really wants them, once I've finished some more code I'll make a complete source/schematic package. along with a video.
×
×
  • Create New...