···38 If the device knows the time, but not the timezone
39 eg: #TZ/UNKNOWN
4041-<IDENTIFICATION STRING> should be replaced by the name/model of the hardware device
42 and the revision of the software producing the log file.
4344After the header lines, simply append one line of text for every song
···60(listened to enter sandman, skipped cowboys, listened to the pusher) :
61 #AUDIOSCROBBLER/1.0
62 #TZ/UTC
63- #CLIENT/Rockbox h3xx 1.1
64 Metallica Metallica Enter Sandman 1 365 L 1143374412 62c2e20a?-559e-422f-a44c-9afa7882f0c4?
65 Portishead Roseland NYC Live Cowboys 2 312 S 1143374777 db45ed76-f5bf-430f-a19f-fbe3cd1c77d3
66 Steppenwolf Live The Pusher 12 350 L 1143374779 58ddd581-0fcc-45ed-9352-25255bf80bfb?
···332333 if (gCache.size < reqsz)
334 {
335- logf("SCROBBLER: OOM , %ld < req:%ld", gCache.size, reqsz);
336 return -1;
337 }
338 gCache.force_flush = true;
···381 /* Found in MRU */
382 if ((i.hash1 == hash1) && (i.hash2 == hash2))
383 {
384- logf("SCROBBLER: hash [%x, %x] found in MRU @ %d", i.hash1, i.hash2, mru);
385 goto Found;
386 }
387 }
···395 }
396 else
397 {
398- logf("SCROBBLER: hash [%x, %x] evicted from MRU", i.hash1, i.hash2);
399 }
400401 i = (struct hash64){.hash1 = hash1, .hash2 = hash2};
402- logf("SCROBBLER: hash [%x, %x] added to MRU[%d]", i.hash1, i.hash2, mru_len);
403404Found:
405···475476 for (i = 0; i < entries && pos < used; i++)
477 {
478- logf("SCROBBLER: write %d read pos [%ld]", i, pos);
479480 struct cache_entry *entry = (struct cache_entry*)&gCache.buf[pos];
481···484 prev_crc = crc;
485486 len = rb->strlen(entry->buf);
487- logf("SCROBBLER: write entry %d sz [%ld] len [%ld]", i, entry_sz, len);
488489 if (len != entry->len || crc != entry->crc) /* the entry is corrupted */
490 {
···591 if ( gCache.pos > SCROBBLER_MAX_CACHE - SCROBBLER_CACHE_LEN )
592 scrobbler_write_cache();
593594- logf("SCROBBLER: add_to_cache[%d] write pos[%ld]", gCache.entries, gCache.pos);
595 /* use prev_crc to allow whole buffer to be checked for consistency */
596 static uint32_t prev_crc = 0x0;
597 if (gCache.pos == 0)
···641642 size_t entry_sz = cache_get_entry_size(ret);
643644- logf("SCROBBLER: Added (#%d) sz[%ld] len[%d], %s",
645 gCache.entries, entry_sz, ret, entry->buf);
646647 gCache.entries++;
···38 If the device knows the time, but not the timezone
39 eg: #TZ/UNKNOWN
4041+<IDENTIFICATION STRING> should be replaced by the name/model of the hardware device
42 and the revision of the software producing the log file.
4344After the header lines, simply append one line of text for every song
···60(listened to enter sandman, skipped cowboys, listened to the pusher) :
61 #AUDIOSCROBBLER/1.0
62 #TZ/UTC
63+ #CLIENT/Rockbox h3xx 1.1
64 Metallica Metallica Enter Sandman 1 365 L 1143374412 62c2e20a?-559e-422f-a44c-9afa7882f0c4?
65 Portishead Roseland NYC Live Cowboys 2 312 S 1143374777 db45ed76-f5bf-430f-a19f-fbe3cd1c77d3
66 Steppenwolf Live The Pusher 12 350 L 1143374779 58ddd581-0fcc-45ed-9352-25255bf80bfb?
···332333 if (gCache.size < reqsz)
334 {
335+ logf("SCROBBLER: OOM , %ld < req:%zu", gCache.size, reqsz);
336 return -1;
337 }
338 gCache.force_flush = true;
···381 /* Found in MRU */
382 if ((i.hash1 == hash1) && (i.hash2 == hash2))
383 {
384+ logf("SCROBBLER: hash [%lx, %lx] found in MRU @ %d", i.hash1, i.hash2, mru);
385 goto Found;
386 }
387 }
···395 }
396 else
397 {
398+ logf("SCROBBLER: hash [%lx, %lx] evicted from MRU", i.hash1, i.hash2);
399 }
400401 i = (struct hash64){.hash1 = hash1, .hash2 = hash2};
402+ logf("SCROBBLER: hash [%lx, %lx] added to MRU[%d]", i.hash1, i.hash2, mru_len);
403404Found:
405···475476 for (i = 0; i < entries && pos < used; i++)
477 {
478+ logf("SCROBBLER: write %d read pos [%zu]", i, pos);
479480 struct cache_entry *entry = (struct cache_entry*)&gCache.buf[pos];
481···484 prev_crc = crc;
485486 len = rb->strlen(entry->buf);
487+ logf("SCROBBLER: write entry %d sz [%zu] len [%zu]", i, entry_sz, len);
488489 if (len != entry->len || crc != entry->crc) /* the entry is corrupted */
490 {
···591 if ( gCache.pos > SCROBBLER_MAX_CACHE - SCROBBLER_CACHE_LEN )
592 scrobbler_write_cache();
593594+ logf("SCROBBLER: add_to_cache[%d] write pos[%zu]", gCache.entries, gCache.pos);
595 /* use prev_crc to allow whole buffer to be checked for consistency */
596 static uint32_t prev_crc = 0x0;
597 if (gCache.pos == 0)
···641642 size_t entry_sz = cache_get_entry_size(ret);
643644+ logf("SCROBBLER: Added (#%d) sz[%zu] len[%d], %s",
645 gCache.entries, entry_sz, ret, entry->buf);
646647 gCache.entries++;
+3-3
firmware/drivers/synaptics-mep.c
···348 syn_wait_clk_change(HI);
349350 /* 4. If the guest is still driving DATA low, the transfer is commited
351- to occur. Otherwise, the transfer is aborted. In either case,
352 the host raises ACK. */
353 if (syn_get_data() == HI)
354 {
···439 /* 7d. The host lowers ACK */
440 syn_set_ack(LO);
441442- /* 7e. The host waits for the guest to raise CLK indicating
443 that the stop bit is ready */
444 syn_wait_clk_change(HI);
445···690void syn_info(void)
691{
692 int i, val;
693- int data[8];
694695 logf("syn_info...");
696
···348 syn_wait_clk_change(HI);
349350 /* 4. If the guest is still driving DATA low, the transfer is commited
351+ to occur. Otherwise, the transfer is aborted. In either case,
352 the host raises ACK. */
353 if (syn_get_data() == HI)
354 {
···439 /* 7d. The host lowers ACK */
440 syn_set_ack(LO);
441442+ /* 7e. The host waits for the guest to raise CLK indicating
443 that the stop bit is ready */
444 syn_wait_clk_change(HI);
445···690void syn_info(void)
691{
692 int i, val;
693+ char data[8];
694695 logf("syn_info...");
696