diff options
author | (no author) <(no author)@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-08-08 16:43:53 +0000 |
---|---|---|
committer | (no author) <(no author)@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-08-08 16:43:53 +0000 |
commit | 06d2a987a1a4333b596b086d560e25d434be9319 (patch) | |
tree | 103bc03e109be5384ed54e48cdc68da3f34e03d0 | |
parent | e0487263bc2adb6bd4e3246a856d8d3adb957ad3 (diff) |
fixup-commit to last one: main_reqa supports TC, not main_pwm.
git-svn-id: https://svn.openpcd.org:2342/trunk@82 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
-rw-r--r-- | openpcd/firmware/src/main_pwm.c | 31 | ||||
-rw-r--r-- | openpcd/firmware/src/main_reqa.c | 28 |
2 files changed, 30 insertions, 29 deletions
diff --git a/openpcd/firmware/src/main_pwm.c b/openpcd/firmware/src/main_pwm.c index 20659cb..f39a55a 100644 --- a/openpcd/firmware/src/main_pwm.c +++ b/openpcd/firmware/src/main_pwm.c @@ -52,10 +52,6 @@ static u_int8_t rsrel_table[] = { 37, 26, 27, 51, 38, 28, 29, 39, 30, 52, 31, 40, 41, 53, 42, 43, 54, 44, 45, 55, 46, 47, 56, 57, 58, 59, 60, 61, 62, 63 }; - -static u_int16_t cdivs[] = { 128, 64, 32, 16 }; -static int cdiv_idx = 0; - static void help(void) { DEBUGPCR("o: decrease duty p: increase duty\r\n" @@ -79,18 +75,13 @@ void _init_func(void) /* switch PA17 (connected to MFIN on board) to input */ AT91F_PIO_CfgInput(AT91C_BASE_PIOA, AT91C_PIO_PA17); - DEBUGPCRF("Initializing carrier divider"); - tc_cdiv_init(); - - DEBUGPCRF("Initializing PWM"); pwm_init(); + rc632_modulate_mfin(); + pwm_freq_set(0, 105937); pwm_start(0); - pwm_duty_set_percent(0, 22); /* 22% of 9.43uS = 2.07uS */ - rc632_modulate_mfin(); - DEBUGPCRF("Initializing SSC RX"); - ssc_rx_init(); + pwm_duty_set_percent(0, 22); /* 22% of 9.43uS = 2.07uS */ } int _main_dbgu(char key) @@ -191,22 +182,6 @@ int _main_dbgu(char key) help(); return 0; break; - case '<': - tc_cdiv_phase_inc(); - break; - case '>': - tc_cdiv_phase_dec(); - break; - case '{': - if (cdiv_idx > 0) - cdiv_idx--; - tc_cdiv_set_divider(cdivs[cdiv_idx]); - break; - case '}': - if (cdiv_idx < ARRAY_SIZE(cdivs)-1) - cdiv_idx++; - tc_cdiv_set_divider(cdivs[cdiv_idx]); - break; default: return -EINVAL; } diff --git a/openpcd/firmware/src/main_reqa.c b/openpcd/firmware/src/main_reqa.c index 4f2b1cf..5d7c80b 100644 --- a/openpcd/firmware/src/main_reqa.c +++ b/openpcd/firmware/src/main_reqa.c @@ -16,12 +16,16 @@ #include "led.h" #include "pcd_enumerate.h" #include "trigger.h" +#include "tc.h" void _init_func(void) { //udp_init(); trigger_init(); + DEBUGPCRF("enabling RC632"); rc632_init(); + DEBUGPCRF("enabling TC"); + tc_cdiv_init(); DEBUGPCRF("turning on RF"); rc632_turn_on_rf(RAH); DEBUGPCRF("initializing 14443A operation"); @@ -58,12 +62,17 @@ static void help(void) DEBUGPCR("r: REQA w: WUPA a: ANTICOL\r\n" "y: inc cw cond x: dec cond c: inc mod cond"); DEBUGPCR("v: dec mod cond o: dec ana_out p: dec ana_out\r\n" - "h: trigger high l: trigger low"); + "h: trigger high l: trigger low u: dec MFOUT mode"); + DEBUGPCR("i: inc MFOUT md <: dec cdiv ph >: inc cdiv phase\r\n" + "{: dev cdiv }: inc cdiv"); } +static u_int16_t cdivs[] = { 128, 64, 32, 16 }; + int _main_dbgu(char key) { int ret = 0; + static int cdiv_idx = 0; switch (key) { case '?': @@ -132,6 +141,22 @@ int _main_dbgu(char key) case 'l': AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, OPENPCD_PIO_TRIGGER); break; + case '<': + tc_cdiv_phase_inc(); + break; + case '>': + tc_cdiv_phase_dec(); + break; + case '{': + if (cdiv_idx > 0) + cdiv_idx--; + tc_cdiv_set_divider(cdivs[cdiv_idx]); + break; + case '}': + if (cdiv_idx < ARRAY_SIZE(cdivs)-1) + cdiv_idx++; + tc_cdiv_set_divider(cdivs[cdiv_idx]); + break; default: return -EINVAL; } @@ -165,6 +190,7 @@ void _main_func(void) rc632_reg_write(RAH, RC632_REG_MFOUT_SELECT, mfout_sel); for (i = 0; i < 0x3ffff; i++) {} //rc632_dump(); + tc_cdiv_print(); switch (mode) { case MODE_REQA: |