Skip to content

Commit

Permalink
Add Issue 5 analog board driver to YUV mode
Browse files Browse the repository at this point in the history
  • Loading branch information
IanSB committed Nov 8, 2020
1 parent d1c743c commit 59301e3
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions src/cpld_yuv.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ static void sendDAC(int dac, int value)
break;
}

if (new_DAC_detected()) {
if (new_DAC_detected() == 1) {
int packet = (M62364_dac << 8) | value;
//log_info("M62364 dac:%d = %02X, %03X", dac, value, packet);
RPI_SetGpioValue(STROBE_PIN, 0);
Expand All @@ -296,6 +296,23 @@ static void sendDAC(int dac, int value)
delay_in_arm_cycles_cpu_adjust(500);
packet <<= 1;
}
RPI_SetGpioValue(STROBE_PIN, 1);
} else if (new_DAC_detected() == 2) {
int packet = (dac + 1) | (value << 6);
//log_info("bu2506 dac:%d = %02X, %03X", dac, value, packet);
RPI_SetGpioValue(STROBE_PIN, 0);

for (int i = 0; i < 14; i++) {
RPI_SetGpioValue(SP_CLKEN_PIN, 0);
RPI_SetGpioValue(SP_DATA_PIN, packet & 1);
delay_in_arm_cycles_cpu_adjust(500);
RPI_SetGpioValue(SP_CLKEN_PIN, 1);
delay_in_arm_cycles_cpu_adjust(500);
packet >>= 1;
}
RPI_SetGpioValue(STROBE_PIN, 1);
delay_in_arm_cycles_cpu_adjust(500);
RPI_SetGpioValue(STROBE_PIN, 0);
} else {
//log_info("Issue2/3 dac:%d = %d", dac, value);
int packet = (dac << 11) | 0x600 | value;
Expand All @@ -308,8 +325,9 @@ static void sendDAC(int dac, int value)
delay_in_arm_cycles_cpu_adjust(500);
packet <<= 1;
}
RPI_SetGpioValue(STROBE_PIN, 1);
}
RPI_SetGpioValue(STROBE_PIN, 1);

RPI_SetGpioValue(SP_DATA_PIN, 0);
}

Expand Down

0 comments on commit 59301e3

Please sign in to comment.