DS: Fix RTC not outputting on LOW
Vicki Pfau vi@endrift.com
Mon, 13 Mar 2017 16:29:45 -0700
1 files changed,
6 insertions(+),
2 deletions(-)
jump to
M
src/ds/ds.c
→
src/ds/ds.c
@@ -885,8 +885,12 @@ }
break; case 2: if (!DSRegisterRTCIsClock(value)) { - ds->rtc.bits &= ~(1 << ds->rtc.bitsRead); - ds->rtc.bits |= DSRegisterRTCGetData(value) << ds->rtc.bitsRead; + if (DSRegisterRTCIsDataDirection(value)) { + ds->rtc.bits &= ~(1 << ds->rtc.bitsRead); + ds->rtc.bits |= DSRegisterRTCGetData(value) << ds->rtc.bitsRead; + } else { + value = DSRegisterRTCSetData(value, GBARTCOutput(&ds->rtc)); + } } else { if (DSRegisterRTCIsSelect(value)) { // GPIO direction should always != reading