Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    yyrkoon reacted to spirilis in Logic Analyzers   
    I am happy I used a couple opportunities (when I had more surplus cash than originally budgeted) to buy these kinds of tools... a Saleae Logic16 about 3yr ago, and a DS1054z this past July. Cause I hear @@yyrkoon 's dilemma, it's a pain to have the need for these tools while one is constrained on cash.
    Moral of the story: Sometimes it *does pay* to make seemingly frivolous investments in quality tools when you don't appear to need them. It's a gamble every time but certain tools are worth having. Like my 22gal air compressor in the garage, it's not strictly necessary for DIY car work but oh does it make certain situations palatable to deal with.
  2. Like
    yyrkoon reacted to mgh in Logic Analyzers   
    I'm late to this party, but here's two other suggestions:
    Ika-logic has a 4-channel semi-kit for 39 euros:
      https://www.ikalogic.com/scanalogic-2-edu-kit-2/   Mattair-Tech has a multi-tool for 23USD:   https://www.mattairtech.com/index.php/development-boards/zeptoprog-ii.html    No affiliation with either company, but I do have a very nice ATxmega128a3u board from MattairTech, and I wish I had the ScanaLogic device.
  3. Like
    yyrkoon reacted to Rei Vilo in Logic Analyzers   
    I had three Saleae logic analysers:
    the initial 8-channel I bought, the initial 16-channel a customer bought for a project I was working on as a contractor,  and the new 8-channel logic and analog analyser. I've reviewed them at Saleae Logic Analyser on my website. Every-time I've used it to debug a circuit, the logic analyser helped me to identify and fix the issue. The team behind the Logic application is very responsive. I do recommend connecting it to a laptop running on battery power to avoid ground issues.
    Everything has a price, and the cheap clones are harmful twice. First, they don't provide quality and thus may raise security issues
  4. Like
    yyrkoon reacted to zeke in Logic Analyzers   
    These days, I rarely use my Saleae Logic but I know that it is within an arm's reach if I need it.
    I has saved me countless hours of debugging when working on a brand new sensor or when developing a brand new device driver.
    As a Contractor, your value will increase to your clients therefore you ought to be charging more for your services. Tools and software that are needed for the job ought to be factored into your agreement with your client so that they are covered. 
    Keep this in mind. Your client will take your hard work and turn around and make 100x his investment cost when he sells it to his clients.
    You are worth every penny your charge!
  5. Like
    yyrkoon got a reaction from enl in Logic Analyzers   
    @@Fred @@zeke @@enl
    I went ahead and ordered the one from the video off Amazon. As for cost and blowing my budget . . . the money for this is coming out of my own pocket.  For something I may never even use again. You guys may have an actual use for the Saleae products, that's fine, I get that. But, I don't So spending ~$500 is really not acceptable.
    It's kind of like the ole serial debug cable "debate" for the beaglebone black. You can buy from a well known "trusted" name brand FTDI for $20 usd. *Or* You can buy a Prolific PL2303HX Cable that performs the exact same functionality for less than 1/10th the cost. Granted, I'm all for dealing with trusted name brands. But not just for the sake of spending more money. There has to be a compelling reason.
    Anyway, it won't be here for around a month . . . I will try to remember to relate to everyone what I personally feel about this once I get some serious time using it.
  6. Like
    yyrkoon reacted to enl in Logic Analyzers   
    I have and use a Saleae logic-8, and have a logic-8pro at work. The lowest end is logic-4 at about $110. For what you are looking at (sub-100KHz) the logic-4 would do well as the sample rate is 12MHz. The logic-8 is 100MHz sample, which is reasonable to about 10MHz systems. There software has several protocol analyzers (I2C, SPI, RS232/standard serial, USB, and about 20 others) and I think it is possible to write your own. I have nothing but good things to say about the unit, and would only give the standard cautions that the units are most useful on a laptop running on battery power to avoid ground issues. A number of the far east import units are near clones, but I can not speak for the quality of them. (one I was looking at had a link to Saleae for the software. I thought that was a bit.... scummy)
    The reason I went for this is that the reviews were good, the sample rate was sufficient for most of what I need, low V to 5V logic compatible, protocol decoders for things I need are not extra cost, and the software is a good match for what I have used in standalone units for many common features. You can pull the software and play with it without the unit. If there is no unit on the computer, the software fakes it for you for demo.
    Learning curve is good enough that I have had students using it to debug I2C and SPI in less than 15 minutes. Not experienced students, but first time with anything more involved than blink an LED level students.
    Edit: watched the video you linked. Looks like a Saleae clone. I don't like the plastic case (shielding issues), but at sub-mhz it is likely not a problem. I haven't used the software he uses. I have a windows machine for such things (due to Autodesk, oscilloscope remote UI, and the microscope cameras), so it isn't a hassle.
  7. Like
    yyrkoon reacted to zeke in Logic Analyzers   
    I use a genuine Saleae Logic.  
    It's awesome.
  8. Like
    yyrkoon reacted to Fred in Logic Analyzers   
    I'd say go for a Saleae clone on eBay. Software wise use Sigrok or Saleae as your moral compass dictates.
    I'm happy with my Scanalogic one. Another option.
  9. Like
    yyrkoon reacted to Fred in Logic Analyzers   
    I was thinking more of the <$10 eight channel clones. Definitely good enough for some UART debugging.
    I'm in the UK but found UK sellers shifting them from a UK warehouse. Obviously they're all from Shenzhen originally. (Hmmm. Just searched and there seems to be less around than there used to be, and all seem to ship from China now.)
  10. Like
    yyrkoon reacted to zeke in Logic Analyzers   
    I have the genuine Saleae and a chinese counterfeit. Their hardware and software is solid. The counterfeit ... well, you get what you pay for.
    FYI, they are under pressure by the far east counterfeiters.  
    Rest assured that the company is filled with good guys and their products are Made in the USA.
    There's no sense in getting worked up about it. It isn't worth the stress.
    Just switch off your emotions and select a logic analyzer based on its abilities.
  11. Like
    yyrkoon reacted to enl in Logic Analyzers   
    They are not cheap, but keep in mind that they developed the software, and, unlike some of the clones (by the magic of google) actually perform as advertised
    I may be biased, having spent several thousand dollars for significantly less performance during the present millennium for a dedicated device, but I see it as a real deal.
    With the USB units, buffering is a concern, but none of them (as far as I can tell) are over endowed with memory. They need a USB channel that can suck up data and a host that can do something with it. I have had no issues at 500MHz with a saleae pro on a netbook, but I am not streaming netflix when I am using it. You are looking at low speed UART work, and I would bet a ZX81, or bottom end saleae clone, would be capable of dealing with it.
    If you are in a time pinch, at those speeds, an MSP430G can split the bits and ram them up the USB line from a launchpad. A 13$ msp432 can do a lot better than that.
    Given what you are looking at, you are likely to need to write your own protocol analyzer, or see if one is available for a standard device. The Saleae has the advantage of a reasonable dev environment for rolling your own protocol analyzer.
    The only things showing up in a quick google search that do DALI are pretty far up in price and are locked up against building your own.
    If it were me, and a deadline was up, I'd call saleae and grab the logic-4 or logic-8 on fast shipping.
    If $100 is a killer, then you already blew too much time on the project.
  12. Like
    yyrkoon reacted to spirilis in UART - Sending 3 bytes per start/stop bit sets.   
    yeah, I can imagine you don't need the timer for output, since the CPU can time its execution as needed based on interrupts or polling a timer and just manually flip the GPIO.
  13. Like
    yyrkoon reacted to spirilis in UART - Sending 3 bytes per start/stop bit sets.   
    (Page 3, Device Pinout)

    See how (in the 20-pin variant) pin 9 says "P2.1/TA1.1" ... Timer_A1 CCR#1 is its alternate function (with P2SEL |= BIT1, P2SEL2 &= ~BIT1)
    Also P2DIR needs configuring (P2DIR &= ~BIT1) to make it an input (CCI):
    (page 51, Port 2 schematics)

  14. Like
    yyrkoon reacted to spirilis in UART - Sending 3 bytes per start/stop bit sets.   
    The idea is to have the RX pin just happen to be one of the pins with a Timer_A association capable of doing capture, preferably a TA0.1 or TA0.2 or TA1.1 or TA1.2 type of thing.  Not sure if it would work with TA0.0 or TA1.0.  Then you can use the timer to capture the moment of transition for that pin which should assist in detecting pulses.
    I've never written a software UART myself so I'm not sure what all is involved, but that one little piece I do know.  It might also be beneficial to have the TX pin going to another TA0.[1+] or TA1.[1+] pin too for output but I'm not 100% sure.
  15. Like
    yyrkoon reacted to zeke in UART - Sending 3 bytes per start/stop bit sets.   
    Don't overthink the solution.
    Try bit banging the protocol and see how it goes. If it solves the problem then you're done.
    "Good enough is the enemy of perfection." 
  16. Like
    yyrkoon reacted to veryalive in UART - Sending 3 bytes per start/stop bit sets.   
    You're clearly deep into this, so I don't know if this fits.....
    What about programming an MSP to do that protocol in real time, then have it communicate up to the Linux box as required?
    As I've never heard of that 16/24 bit scheme you mentioned, I'd be absolutely no use progressing this idea further!
  17. Like
    yyrkoon reacted to LiviuM in UART - Sending 3 bytes per start/stop bit sets.   
    in the data sheets of some PIC uC (PIC18F13K50, for example), in the description of the EUSART synchronous mode, there is specified:
    Maybe it is what you are looking for?
  18. Like
    yyrkoon got a reaction from spirilis in UART - Sending 3 bytes per start/stop bit sets.   
    Another thing I found rather comical today when talking to a person I know.
    Him: "What do you mean you can't bit-bang gpio serial from Linux user space? . . ."
    To which I mentioned that the lowest guaranteed latency of any API call under Linux is not very deterministic at all. At best, we're talking 10's of milliseconds using an RT enabled kernel. Worse case it can be as high as 100's of milliseconds.
    He then pulls up the ominous google search page . . .
    Him: "Well, you obviously do not know what you're talking about, because here is a guy doing exactly that on an rPI using Python . . ."
    At which point I had to leave the conversation. As any programmer knows that first, bit-banging *anything* is going to be CPU intensive by comparison. Then the more CPU you're using, the less deterministic your code will end up being. Passed that . . . Python ? Really ?! We're talking about a serial interface that needs to be at least reasonably deterministic. At least to the point where you're able fulfill your baud rate, and then act on that data. Python for a couple of reasons is not up to that task. First, while Python *could* potentially be compiled into native code . . . Python is an interpreted language. It's going to be comparatively a lot slower than C, depending on the task, it'll use a lot more CPU doing so, and while being huge, again in comparison. Lastly, as far as scripting language performance goes . . . Python often is the worst. Even Javascript( googles V8 engine / Nodejs ) routinely gives it a beating performance wise. That, and I do not even consider Javascript / Nodejs very performant. Often times, it is fast enough, but I'd honestly never consider using it for driver code . . .
    Granted there are a few caveats of course. Using mmap() along with /dev/mem could potentially speed things up greatly. But you're still going to be using CPU cycles to get where you want. Also while writing such an app, you'd have to be very careful which system calls you made. Something such as a single printf() call, could cripple the application. Cutting performance drastically. Threading, and Semaphores would also be out of the question. Especially on a single CPU core system such as the beaglebone black.
    In my own case, I won't be just fulfilling my baud rate expectation with enough leg room to act on that data. There will be a multi GPIO, PWM, and MQTT system in place. That is, in addition to the "bit-bang" serial code. If, in fact I have to truly bit-bang serial at all. Using SPIDev for this purpose looks promising, thanks Rick ! Not to mention I always have a couple of PRU's to fallback on, for which they were built specifically for this sort of situation. Bit-banging. . .
    The moral of my story here ? Simply that just because something *may* be possible. It does not mean that this *something* is a good idea.
  19. Like
    yyrkoon reacted to USWaterRockets in UART - Sending 3 bytes per start/stop bit sets.   
    Why don't you just set up a timer interrupt and implement the fancy 16/24 bit UART using software running in the interrupt?
    If you're using 1200baud, that's 1 bit every 833uS. On a MSP430 running at 8MHz, that's one interrupt every 6000 clock cycles (8000000/1200 = 6000). If your interrupt routine takes an average of 100 cycles to complete, you're using 1.5% of the CPU cycles for the UART (((1200 * 100) / 1000) = 0.015).
    Recall that the original MSP430 LaunchPad shipped with the MSP430G2231 which does not have a hardware UART peripheral, so all the serial port examples for it were using a bit bang driver. It should be very trivial to look through the existing examples for software UARTs for the LaunchPad and find one you like that you should then be able to modify the bit counter to send 16 or 24 bits instead of 8.
  20. Like
    yyrkoon reacted to Rickta59 in UART - Sending 3 bytes per start/stop bit sets.   
    I can't say I've ever seen a UART with 24 bits of data. I have seen 9 bit but that was the max.
    Maybe you can use the spidev peripheral to send the data.  I had some sample code that used spidev to send data that was actually a wave form for those ws2811 leds.  
  21. Like
    yyrkoon got a reaction from bluehash in Beaglebone-Web-PMIC-Register-Viewer   
    Here is a screenshot for those that are curious, but may not care to actually go through the whole process just to see what the app does.
  22. Like
    yyrkoon reacted to greeeg in Personal CNC PCB routers   
    I personally Haven't used it on my router, but I've installed it and looked around, FlatCam might be a good choice, Takes PCB gerbers directly (Can use any EDA tool) And it generates isolation tracks around your copper in G-code.
    Cross platform too! http://flatcam.org/
  23. Like
    yyrkoon reacted to enl in Personal CNC PCB routers   
    pcb-gcode for use with Eagle would by my first suggestion.
  24. Like
    yyrkoon reacted to Fred in Personal CNC PCB routers   
    You'll have a lot of fun with that. Definitely try PCBs and let us know how you get on.
    The 5 axes might be overkill. The problem is that software to make proper use of more than 3 axes is complicated and expensive. Swapping one linear axis for a rotational one and engraving on a cylinder is easy enough.
  25. Like
    yyrkoon got a reaction from Fred in Personal CNC PCB routers   
    This is what we ended up getting: http://www.ebay.com/itm/like/262624817100?lpid=82&chn=ps&ul_noapp=true or, something very similar. We're still not sure if we'll use it for many PCB's, but we do want it for various other milling jobs.
    Now as for the pick and place machine . . . my buddy decided to make his own, and it'll be huge for a DiY pick and place machine. He's already started to amass parts for it, and assembling it somewhat.
    We've got it setup with Mach3, and have done a few dry(demo) runs with it so far. Needed a lot of work to get it functional, and setup properly . . . 
  • Create New...