Jump to content
43oh

zeke

Members
  • Content Count

    1,782
  • Joined

  • Last visited

  • Days Won

    102

Everything posted by zeke

  1. Hello Everyone! It's been a while since I last visited. I trust everyone is healthy! Today, I read this article that was talking about why there is a global chip shortage when I realized that the article gives a respectable description of the inner workings of a chip fab facility. I thought I would post it up since we know that TI has one or two of these factories themselves. Maybe they are similiar? Enjoy! zeke
  2. zeke

    MSP430 Nixie Clock

    I have a zip file of @RobG's Nixie Clock V3. @RobG, I hope you are okay with me posting this? @bluehash, please delete this if there is a problem.
  3. @lacint, This is a difficult question to answer because the people who hang out here are MSP430 people and not PIC people. Have you considered asking your questions over at the Microchip forums?
  4. Nah, don't hire an Autocad engineer. There are plenty of people out here who can drive Altium. The special people are the ones who can drive Protel, Altium, Orcad, Pcad, or PADS. They are CAD agnostic. I have met a few of them over the years. I have been using Altium/Protel since the 1990's. It was the easiest program to drive back then and I had access through work. In my neck of the woods, there are a lot of people who use Altium. We have a local guy who is pretty well known as a contract Altium guy. It takes coaching to bring someone up the learning curve. If that person
  5. I am considering buying something from banggood.com. Is this a good idea or am I taking a risk?
  6. A ridiculously long time ago, I took PACE solder training. At the time, someone said it was the training program that NASA employees had to take to be one of their solder jockies. I’m count it as one of the best investments that I ever made in my career. I think of soldering as one of my superpowers now.
  7. We have to unpack all that is going on in that get stack pointer statement. The function getstackpointer() returns a value. The (int*) transforms that into “the address of that return value” which will be 16 bits large. Then that 16 bit address is assigned to the multi stack variable. The author is asking us to modify the list of function names in the taskpnt function since (s)he doesn’t know what we will be doing. So that is up to us. So task1, task2, and so on, are functions that we write to do one specific thing. Something atomic, like SwitchOnLED(LED1) or SwitchGPIO
  8. Maybe I am thinking of the PetiteFS way of using an SD card but doesn't that SD card need to be first formatted on a PC and have a file created as well? Then, the MSP430 would access the SD card, open up the pre-existing file, and then write to it? I would verify the SD card on a PC first by formatting it then creating an empty text file on it. Then, get the MSP430 to see it then open it. Double check the wiring of the card. And make sure that you have a really good +5V power source for that SD card. I have read that they want a bunch of current to operate properly. And, I
  9. First thing, the snippet you posted seems to be incomplete. I cannot see the closing parenthesis. Next, the code is initializing a data structure (called multistack) that will serve as The Stack. When this code runs, the author does several things with The Stack: Saves the SP register value (which is the present location/address of The Stack Pointer) Checks to make sure that there are no more than "tasks" numbers of tasks. Initializes the index of The Stack so it knows where it is in The Stack Stores a task pointer into the stack (he calls it the PC - probably
  10. @MadMayonnaise They are called Function Pointer Arrays. I love them. I have been using them extensively to create my CLI - Command Line Interpreter. I can add a new command just by defining a new entry into an array. They are an alternative to the Gigantic Switch Statement style of coding. To get you started, here is an article from 1999 by Nigel Jones: How to Create Jump Tables via Function Pointer Arrays in C and C++ I also found the book Programming Embedded Systems in C and C++ by Michael Barr to be exceptionally helpful. Chapter nine specifically.
  11. You are welcome @radcliffkaty1
  12. As mentioned in your other post, yes, it appears that the APA107 is a drop in replacement for the APA102 LED. APA107_RGB.pdf
  13. @pololu The communication scheme, the physical footprint, and the pinout all appear to be exactly like the APA102 so it looks like the APA107 is a drop in replacement. APA107_RGB.pdf
  14. @mph Thank you for sharing this with us. 👍
  15. @Markers Excellent! I am glad that you found a solution! Yes, putting the msp430 into low power mode is a great way to complete the processing of the infinite while loop in main(). Is this what your main() function looks like now?
  16. @Markers Excellent! I am glad that you found a solution! Yes, putting the msp430 into low power mode is a great way to complete the processing of the infinite while loop in main(). Is this what your main() function looks like now?
  17. @Markers I have taken a quick look at your code and the first thing that I can see is the many function calls inside of the interrupt routines. They will upset the accuracy of your timers. Especially, that FlashLED() function call. Yikes! What you can do is use two flags to keep track of servicing that interrupt. The first flag will indicate the interrupt has fired eg: "T1_Fired". The second flag will tell the main while loop that it has or hasn't been serviced eg: "T1_Serviced". Inside the ISR, set the T1_Fired flag instead of making a function call. Then, in the main whil
  18. @biza For us to help you, you have to provide a lot more information. What processor are you using? What programming environment are you using? What software tests have you performed? Can you show us some software that you are testing? What specific question(s) are you asking us?
  19. @Salibensuleiman Thank you for sharing your solution with us!
  20. My gut instinct would be to add an additional condition (a timer) to that while loop. I don't work with that processor so I am not sure of the implementation but here's my pseudo code: while ( (pcb != NULL) && (thisTimer <= ARBITRARY_MAX_WAIT_TIME) ) { ... } I don't know if that makes any sense to do it that way, but that is how I am thinking. Add in a second variable that *you* have control over. Then you can have a measure of sanity of something goes off the rails. YMMV
  21. Yeah, I built that. I was inspired by something similar a friend of mine created about ten years ago. I also found the book Programming Embedded Systems in C and C++ by Michael Barr to be exceptionally helpful. Chapter nine specifically. So, back when I discovered the loss of my marquee clock code, I went on a rampage to re-write the lost code. The first thing I did was figure out how to write a command line interface parser equal to or better than my friend's cli. Initially, for some reason, I wrote an AT command parser for the marquee clock. But, I found it to be u
  22. If anyone is curious, I have been developing the edge router app in pyqt5 on linux. Here is one of the better tutorials that I have found on learning PyQt5. Apparently, there are two different sources to get PyQt5 from: PyQt5 from Riverbank Computing, and Qt for Python from Qt.com, which was originally called PySide(2) PyQt5 is a bit of a mind bender at the start, but it gets better as you climb the learning curve.
×
×
  • Create New...