• Announcements

    • bluehash

      Forum Upgrade   03/11/2017

      Hello Everyone, Thanks for being patient while the forums were being fixed and upgraded. Please see details and report issues in this thread. Thanks!

zeke

Members
  • Content count

    1,684
  • Joined

  • Last visited

  • Days Won

    83

zeke last won the day on March 22

zeke had the most liked content!

About zeke

  • Rank
    Level 5

Contact Methods

  • Website URL
    http://www.randomelectrons.com

Profile Information

  • Gender
    Not Telling
  • Location
    Calgary, Canada

Recent Profile Visitors

349 profile views
  1. Whoops. I forgot that detail. I must be getting old. So this is I2C over CANBUS then. Sorta. I have never worked with CANBUS. Can it cover that distance at that speed?
  2. My gut instincts tell me that your cable will have to be 50 ohm coaxial to get 100kHz over 300 meters. Only super slow speeds can go long distances i.e.: RS-485. I would be inclined to use an msp430 on your cape to be the I2C interface master. You could talk to it with the BBB as if it was a slave serial device. That would isolate the BBB from the slow speed pathway. The BBB could just poll the MSP430 for any new data.
  3. Just in case I didn't make it clear, the speed of the simulated I2C-over-1Wire ends up being about 15kHz. It's not fast but it does work over long lengths of cable and that is pretty darn cool.
  4. I was wondering if a private github repo might make sense. I don't like going offsite with my stuff so I'm not sure how to respond to my emotions just yet.
  5. I had git setup on a local linux box and I was using it. It suffered disk corruption when the power went out while I was away on Christmas Vacation. I am presently running efsck on it. It sure is taking a long time to finish.
  6. All three platforms. I have been trying to use freefilesync but it isn't automated. I have bookmarked Deltacopy because I have never heard of it before. Thanks!
  7. It was a bit of a mind bender for me at first but then I just read the I2C spec and it did not specify that the communication *had* to be at 100kHz. The way I choose to understand things is that the I2C slave device has a communication state machine inside of it. All I have to do is put in one bit and turn the crank once. Then repeat. Over and over. Then the slave device will just do its job merrily.
  8. Last night, I discovered that one of my source code repo's had been lost. Today, I confirmed that I had no backup of that repo. I am feeling poorly now because I know that it was my fault. I should have had a backup process in place to prevent this type of loss. So now I am wondering, what is your data backup process? How do you ensure your data is not lost in the worst case scenario?
  9. I'm talking about both, actually. The DS28EA00 has two GPIO lines. Using 1Wire protocol, I turned them on and off in a way that looked like very slow I2C to the pressure transducer that was attached to those two GPIO lines. Essentially, using the 1Wire protocol, I spoke I2C to a slave device. Does that make sense?
  10. If it matters, I have done I2C via 1Wire over that distance and farther. If you slow the speeds down then you should be fine.
  11. For organizing cables, parts, and random stuff, I am using clear Samla Series boxes from Ikea: Small = 701.029.72 Medium = 401.029.78 Large = 801.029.76 Huge = 001.029.75 There are more sub-types that these. The benefits are: They stack on top of each other They are clear so you can see what's inside of them They all have matching lids to keep the dust out You can put slips of paper on the inside facing outwards to label the contents They are inexpensive I have created two wall mounted shelving units to hold these boxes. This is the BOM for one of the shelving units: 4x Rubbermaid 70" black twin track uprights screwed into the wall studs 16x Rubbermaid 11.5" black twin track shelf brackets - 4x per shelf 1x sheet of 4'x8' sheet of 3/4" plywood cut into four 8' strips The shelves are spaced so that two small Samla boxes can stack on top of each other comfortably. I like the results.
  12. Yes! I can see use cases for this information being extremely useful to Design Engineers. Just think, if someone embedded an MSP430 into one of their projects and wanted to do in-circuit programming then they would know the trick to getting it working! Good job @Peabody!
  13. @yyrkoon, This is a schematic of a typical programming setup. It doesn't matter what MSP430 that you use because they all can be wired up like this. To program this unit, I connect another G2 LaunchPad to this circuit using a four wire cable between P1 of this circuit and either J3 or J4 of the G2 LaunchPad board. Then program the circuit as if you were programming the G2 LaunchPad.
  14. This is my approach to state machines. Your mileage may vary. Determine all of the sub-systems that you will want to service Commands, Controls and Inputs, User Interface, and Data Setup a system tick timer that fires its interrupt on a regular consistent basis. This system doesn't have to go into LPM4. If it does then periodically wake up the system and cycle through the software service loops then go back to sleep. Setup a series of service flags that are set during the interrupt service routine and cleared after being serviced: Flag(s) for Commands, Flag(s) for Controls and Inputs, Flag(s) for User Interface, and Flag(s) for Data Setup a variable that acts like the system timer odometer. Every Odometer == (DesiredInterval%ServiceFlag_n_now) set the ServiceFlag_n Decide how often you will service the other functional blocks of your code. For example, Update the 2x20 LCD display every one second, or Update the Serial Console every 250ms, or Retrieve the Temperature from a sensor every 15 minutes. Setup an Interrupt Service Routine to catch any characters coming into the Serial Port Buffer. Stuff them into the Input Ring Buffer Set a flag that there's something to service. In the main loop, scan all of the service flags to see if any are set. Call the servicing function for each set flag. Clear the service flag at the end of that process. Configure the program to repeat continuously until Kingdom Come. I've left out significant details about setting up all of the peripherals and general variables so don't forget to do that stuff. This is just the basic gist of my state machines on a bare metal level.
  15. I've never gotten the interrupt driven I2C Master to work reliably but I have gotten the interrupt driven I2C working like a charm. I've done this working on the 2955, the 2553, and the 5529. I've used a state machine to divide up all the functionality between the I2C, the Serial IO, and the GPIO. It's weird to realize that I have never used the ADC nor the PWM yet.