I've overcome the datasheet, and the hardware from heck. finally
-
Today I finally got a NXP PCAL6534 34-bit GPIO expander working. I couldn't before. It wasn't showing up as an I2C device, even when I scanned the bus. I solved the problem, but the evaluation board is just funky. Furthermore I just spent the last 4 hours (mostly) poring over a datasheet for because nobody wrote a driver for it, aside from one for linux which is actually weird considering it's not really meant for full fledged computers. I got it working, and ported a stepper motor driver library to work with it, such that you can tie most of the motor's lines to the expander, and you only need one for each attached directly to the MCU (because it's time sensitive.) All in about 4.5 hours today, which is over twice as long as I like to work in a day, but I had a lot to do. From what I understand of my pace, and just generally what I know of work like this is I did it very quickly so I feel pretty good about it, especially given it involved datasheets, which usually make me cross-eyed, and then the finicky and obscure hardware on top of it. Why we didn't go with a more common expander I will probably never know. I'm not a hardware engineer.
To err is human. Fortune favors the monsters.
-
Today I finally got a NXP PCAL6534 34-bit GPIO expander working. I couldn't before. It wasn't showing up as an I2C device, even when I scanned the bus. I solved the problem, but the evaluation board is just funky. Furthermore I just spent the last 4 hours (mostly) poring over a datasheet for because nobody wrote a driver for it, aside from one for linux which is actually weird considering it's not really meant for full fledged computers. I got it working, and ported a stepper motor driver library to work with it, such that you can tie most of the motor's lines to the expander, and you only need one for each attached directly to the MCU (because it's time sensitive.) All in about 4.5 hours today, which is over twice as long as I like to work in a day, but I had a lot to do. From what I understand of my pace, and just generally what I know of work like this is I did it very quickly so I feel pretty good about it, especially given it involved datasheets, which usually make me cross-eyed, and then the finicky and obscure hardware on top of it. Why we didn't go with a more common expander I will probably never know. I'm not a hardware engineer.
To err is human. Fortune favors the monsters.
-
Today I finally got a NXP PCAL6534 34-bit GPIO expander working. I couldn't before. It wasn't showing up as an I2C device, even when I scanned the bus. I solved the problem, but the evaluation board is just funky. Furthermore I just spent the last 4 hours (mostly) poring over a datasheet for because nobody wrote a driver for it, aside from one for linux which is actually weird considering it's not really meant for full fledged computers. I got it working, and ported a stepper motor driver library to work with it, such that you can tie most of the motor's lines to the expander, and you only need one for each attached directly to the MCU (because it's time sensitive.) All in about 4.5 hours today, which is over twice as long as I like to work in a day, but I had a lot to do. From what I understand of my pace, and just generally what I know of work like this is I did it very quickly so I feel pretty good about it, especially given it involved datasheets, which usually make me cross-eyed, and then the finicky and obscure hardware on top of it. Why we didn't go with a more common expander I will probably never know. I'm not a hardware engineer.
To err is human. Fortune favors the monsters.
-
Why? Because the marketing department wanted to say: “cutting edge technology using NXP PCAL6534 34-bit GPIO expander”
Funny thought, but I know that's not how this happened. I know the guy that made the decision. I could ask him, but he probably just went with NXP because he's used to them, and this is what they had. He's not up on the software end of things, so the fact that NXP doesn't do a good job (apparently) of providing source code to work with their hardware is almost certainly lost on him. It's not a big deal - if anything it means more work for me, and that's not always a bad thing - not when I'm already ahead anyway. :-D
To err is human. Fortune favors the monsters.