You were correct - my endstops don't trip the "fuse" and get the power they need. I finally got them all working this morning when I discovered that pin 21 of the 644P wasn't connected to its pad. A touch of flux and a hot soldering iron fixed it up. I tried to take a picture, but I don't have good macro capability so it doesn't show the flaw well.
I wrote an endstop test program that helped me prove the problem, before I got out my lighted magnifier and my 2.75x glasses to meter from the pin to the chip and find exactly where the flaw was.
This code may be useful to someone else, so I've attached it. Load it into the Azteeg with Arduino and use the Serial Monitor at SERIAL_SP speed to watch the endstops change (or NOT) as you trip them.
Quote
/*
Endstop Test Firmware for Azteeg X1 and Saguinololu 1.3
Based on RAMPS test code by Bart Meijer/Misan
and Azteeg test code by roy @ panucatt
jed "who gets mail at" pobox.com
reprap.org
*/
#define X_MIN_PIN 18
#define Y_MIN_PIN 19
#define Z_MIN_PIN 20
#define SERIAL_SP 115200
int val,lastval=127;
void setup() {
Serial.begin(SERIAL_SP);
pinMode(X_MIN_PIN , INPUT);
pinMode(Y_MIN_PIN , INPUT);
pinMode(Z_MIN_PIN , INPUT);
digitalWrite(X_MIN_PIN, HIGH); // turn on pullup resistor
digitalWrite(Y_MIN_PIN, HIGH); // turn on pullup resistor
digitalWrite(Z_MIN_PIN, HIGH); // turn on pullup resistor
}
void loop () {
delay(100); // number of milliseconds to pause for debounce
val = digitalRead(X_MIN_PIN)*4 + digitalRead(Y_MIN_PIN)*2 + digitalRead(Z_MIN_PIN);
if (lastval != val) {
lastval = val;
Serial.print("val=");
Serial.println(val, BIN);
}
}