Hi Kurt,
Thanks for the comments!
I went back and read your thread (and others) for a second time today. I did see where Nathan said:
Acidtech wrote:
Pins 8 to 15 and 24 to 31(16pins) are analog capable. You can get their analog value using the HservoState function. Also the Aux1 header has one analog pin that can also be read using HservoState. The 3 input voltages Vl,Vs1 and Vs2 can also be read using HservoState(these three are voltage divided by 10).
Not sure about your P56-P58. My ARC-32 chart ends at P45. (But I'll try 'em!)
I missed which A/D pins were "directly connected" (with ADIN compatibility).
I've got some code to try tonight. If I get lucky, it'll read my new floor/tabletop sensors (and if they work. and if my subsumption code works...). If not, then it's too late for the "Tabletop Challenge" tomorrow.
I'll at least be able to see the VL voltage. And I discovered today at lunch that I had the pinout of the QRB1134 sensors wrong on the board I just laid out. Probably why I couldn't read a voltage change with my Fluke DMM either last night. Hopefully tonight will be better.
Alan KM6VV
KurtEck wrote:
Hi Alan,
Hservostate is only currently described on the forums or in the Arc32 document.
While I was figuring out how to write my own HSERVO code in C for the Arc32, I found out a lot about how this is wired up. The underlying processor has 8 AtoD pins that are in two groups of 4. Four of these pins are directly connected to 4 IO pins and the standard ADIN should work on them. There is more in my thread about which one. The other 4 Analog IO pins are connected up to the 2 inputs from two of the MUXS that are used by HSERVO. So each of these pins can actually connect to 4 IO pins each, which is why there are 16 hservostate pins.
So yes they do have a different implementation. Personally I wish this was abstracted out and ADIN would simply work for either implementation, as only advanced users will understand the differences. I belive the logical IO pin mappings for the voltage levels is:
Code:
// P56 VS1 (PB0/AN0)
// P57 VL (PB1/AN1)
// P58 VS2 (PB2/AN2)
So you might be able to try adin on those pins... Not sure if they are fully mapped in the ADIN command or not.
Kurt