Re: Metallsvarv - CJ18A-tråden
Postat: 12 mars 2021, 11:51:54
Nu har jag slagits lite mer med displayen:
(Här har jag också tagit bort .leds-fältet eftersom jag inte behöver det, och lagt till ett "FRAC"-tecken ("/") för att visa matningen i "delar av tum per varv" istället för inversen "gängor per tum".)
Jag gillar detta interface mycket bättre: det blir väldigt lätt att snabbt bläddra fram sökt matning istället för att hålla på och trycka på flera olika knappar.
Matningen till vänster och varvtalet till höger. Och så har jag slagit ihop de olika matningstabellerna i Clough42:s kod (metric feed, metric thread, inch feed, inch thread) till en enda tabell, som jag alltså "bläddrar" i med en rotationsenkoder:
Kod: Markera allt
const FEED_THREAD feed_table[] =
{
{ .display = {ZERO, POINT, ZERO, TWO }, HMM_FRACTION_FEED( 2) },
{ .display = {ZERO, POINT, ZERO, FIVE }, HMM_FRACTION_FEED( 5) },
{ .display = {ZERO, POINT, ZERO, SEVEN}, HMM_FRACTION_FEED( 7) },
{ .display = {ZERO, POINT, ONE, ZERO }, HMM_FRACTION_FEED(10) },
{ .display = {ZERO, POINT, ONE, TWO }, HMM_FRACTION_FEED(12) },
{ .display = {ZERO, POINT, ONE, FIVE }, HMM_FRACTION_FEED(15) },
{ .display = {ZERO, POINT, ONE, SEVEN}, HMM_FRACTION_FEED(17) },
{ .display = {ZERO, POINT, TWO, ZERO }, HMM_FRACTION_FEED(20) }, // M1F-M1.8F
{ .display = {ZERO, POINT, TWO, TWO }, HMM_FRACTION_FEED(22) },
{ .display = {ZERO, POINT, TWO, FIVE }, HMM_FRACTION_FEED(25) }, // M1, M1.2, M2F
{ .display = {ZERO, POINT, TWO, SEVEN}, HMM_FRACTION_FEED(27) },
{ .display = {ZERO, POINT, THREE, ZERO }, HMM_FRACTION_FEED(30) }, // M1.4
/* Metric thread leads */
{ .display = {ZERO, POINT, THREE, FIVE }, HMM_FRACTION( 35) }, // M1.6, M1.8, M2.5F, M3F
{ .display = {ZERO, POINT, FOUR, ZERO }, HMM_FRACTION( 40) }, // M2
{ .display = {ZERO, POINT, FOUR, FIVE }, HMM_FRACTION( 45) }, // M2.5
{ .display = {ZERO, POINT, FIVE, BLANK}, HMM_FRACTION( 50) }, // M3, M4F, M5F
{ .display = {ZERO, POINT, SEVEN, BLANK}, HMM_FRACTION( 70) }, // M4
{ .display = {ZERO, POINT, EIGHT, BLANK}, HMM_FRACTION( 80) }, // M5
{ .display = {ONE, BLANK, BLANK, BLANK}, HMM_FRACTION(100) }, // M6, M8F, M10F
{ .display = {ONE, POINT, TWO, FIVE }, HMM_FRACTION(125) }, // M8, M10F, M12F
// M10, M12F, M14F, M16F, M18F, M20F, M22F:
{ .display = {ONE, POINT, FIVE, BLANK}, HMM_FRACTION(150) },
{ .display = {ONE, POINT, SEVEN, FIVE }, HMM_FRACTION(175) }, // M12
// M14, M18F, M20F, M22F, M24F, M27F, M30F, M33F:
{ .display = {TWO, BLANK, BLANK, BLANK}, HMM_FRACTION(200) },
/* Imperial thread leads */
{ .display = {ONE, FRAC, EIGHT, ZERO }, TPI_FRACTION(800) }, // 1/80 in
{ .display = {ONE, FRAC, SEVEN, TWO }, TPI_FRACTION(720) }, // 1/72 in
{ .display = {ONE, FRAC, SIX, FOUR }, TPI_FRACTION(640) }, // 1/64 in
{ .display = {ONE, FRAC, FIVE, SIX }, TPI_FRACTION(560) }, // 1/56 in
{ .display = {ONE, FRAC, FOUR, EIGHT}, TPI_FRACTION(480) }, // 1/48 in
{ .display = {ONE, FRAC, FOUR, FOUR }, TPI_FRACTION(440) }, // 1/44 in
{ .display = {ONE, FRAC, FOUR, ZERO }, TPI_FRACTION(400) }, // 1/40 in
{ .display = {ONE, FRAC, THREE, SIX }, TPI_FRACTION(360) }, // 1/36 in
{ .display = {ONE, FRAC, THREE, TWO }, TPI_FRACTION(320) }, // 1/32 in
{ .display = {ONE, FRAC, TWO, EIGHT}, TPI_FRACTION(280) }, // 1/28 in
{ .display = {ONE, FRAC, TWO, SEVEN}, TPI_FRACTION(270) }, // 1/27 in
{ .display = {ONE, FRAC, TWO, SIX }, TPI_FRACTION(260) }, // 1/26 in
{ .display = {ONE, FRAC, TWO, FOUR }, TPI_FRACTION(240) }, // 1/24 in
{ .display = {ONE, FRAC, TWO, ZERO }, TPI_FRACTION(200) }, // 1/20 in
{ .display = {ONE, FRAC, ONE, NINE }, TPI_FRACTION(190) }, // 1/19 in
{ .display = {ONE, FRAC, ONE, EIGHT}, TPI_FRACTION(180) }, // 1/18 in
{ .display = {ONE, FRAC, ONE, SIX }, TPI_FRACTION(160) }, // 1/16 in
{ .display = {ONE, FRAC, ONE, FOUR }, TPI_FRACTION(140) }, // 1/14 in
{ .display = {ONE, FRAC, ONE, THREE}, TPI_FRACTION(130) }, // 1/13 in
{ .display = {ONE, FRAC, ONE, TWO }, TPI_FRACTION(120) }, // 1/12 in
{ .display = {TWO, FRAC, TWO, THREE}, TPI_FRACTION(115) }, // 2/23 in
{ .display = {ONE, FRAC, ONE, ONE }, TPI_FRACTION(110) }, // 1/11 in
{ .display = {ONE, FRAC, ONE, ZERO }, TPI_FRACTION(100) }, // 1/10 in
{ .display = {BLANK, ONE, FRAC, NINE }, TPI_FRACTION( 90) }, // 1/9 in
{ .display = {BLANK, ONE, FRAC, EIGHT}, TPI_FRACTION( 80) }, // 1/8 in
};
Jag gillar detta interface mycket bättre: det blir väldigt lätt att snabbt bläddra fram sökt matning istället för att hålla på och trycka på flera olika knappar.