66 uint8_t bit_idx_stx, bit_idx;
69 byte_idx_stx = start / 8;
70 bit_idx_stx = start - byte_idx_stx * 8;
72 if (size < (8 - bit_idx_stx)) {
73 return (resp[byte_idx_stx] >> bit_idx_stx) & ((1 << size) - 1);
78 ret = (resp[byte_idx_stx] >> bit_idx_stx) & ((1 << (8 - bit_idx_stx)) - 1);
79 bit_idx = 8 - bit_idx_stx;
84 ret |= resp[byte_idx_stx + byte_idx] << (bit_idx);
91 ret |= (resp[byte_idx_stx + byte_idx] & ((1 << size) - 1)) << bit_idx;
98 static void swap_buff(uint8_t *buff,
uint32_t count)
103 for (i = 0; i < count / 2; i++) {
105 buff[i] = buff[count - i - 1];
106 buff[count - i - 1] = tmp;
143 #ifndef BOARD_NGX_XPLORER_18304330
152 DEBUGOUT(
"Card Acquire failed...\r\n");
196 *(
DWORD *) buff = 4096;
206 for (n = 0; n < 4; n++) {
207 *(ptr32 + n) = sdcardinfo.
csd[n];
213 for (n = 0; n < 4; n++) {
214 *(ptr32 + n) = sdcardinfo.
cid[n];
224 if (cardStatus != -1) {
225 uint8_t *
status = (uint8_t *) &cardStatus;
226 for (n = 0; n < 2; n++) {
227 *(ptr + n) = ((uint8_t *)
status)[n];
248 if (
Stat & STA_NOINIT) {
276 if (
Stat & STA_NOINIT) {