{"push_id":914936950,"size":18,"distinct_size":18,"ref":"refs/heads/xboot_integration","head":"37fbe3fd85ec6f19d2baa1bf1de8ffe50bfe7d44","before":"742f5c72db5f17f12de660a3940fdfc5aef8072a","commits":[{"sha":"cdce9a4be4087b77955d5ccbd5c4e68f8b1d30b2","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Keep ELF output file after build","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/cdce9a4be4087b77955d5ccbd5c4e68f8b1d30b2"},{"sha":"c985ab9f12e4b2dd2cc651d9acf294da9c941623","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Update xboot submodule","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/c985ab9f12e4b2dd2cc651d9acf294da9c941623"},{"sha":"9b12027a0e3e32b2b1653f58f9ca830e0e837c6d","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add xboot API and implement device reset command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/9b12027a0e3e32b2b1653f58f9ca830e0e837c6d"},{"sha":"7f07597ce5a1b3293f6db3660a4fd7b9f45ef146","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement command line parser","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/7f07597ce5a1b3293f6db3660a4fd7b9f45ef146"},{"sha":"ef3d4634b21502c7c08286a2538f6673ed7fbed9","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Speed up USB task","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/ef3d4634b21502c7c08286a2538f6673ed7fbed9"},{"sha":"0f0aca2b4ed257de9eb008a0c17935249cb9805c","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Refactor USB API to resemble stdio.h","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/0f0aca2b4ed257de9eb008a0c17935249cb9805c"},{"sha":"8614406dc7801bbe6e341533aa3f48dfee00f2ed","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"usb: Implement internal flush helper function","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/8614406dc7801bbe6e341533aa3f48dfee00f2ed"},{"sha":"ff938fcf6d901df5c2bc084b2896a280fa60ff88","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement and use wrapper for CDC_Device_BytesReceived","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/ff938fcf6d901df5c2bc084b2896a280fa60ff88"},{"sha":"49de74a1e724c42144bb4a343464924d2fa172e4","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add error flag to command subroutines","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/49de74a1e724c42144bb4a343464924d2fa172e4"},{"sha":"59c63e9efea4221cce8807202cdd367bfb439265","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement more powerful `led` command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/59c63e9efea4221cce8807202cdd367bfb439265"},{"sha":"ce969067024df85d6b09278f9a657ce5ec10d407","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Prepare firmware update command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/ce969067024df85d6b09278f9a657ce5ec10d407"},{"sha":"533fc03c18366201eb02078721e27693e332907f","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement firmware update without CRC","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/533fc03c18366201eb02078721e27693e332907f"},{"sha":"7ab0eba423a2806ae9da7d430ea50ed7741f24e8","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement proper CRC check","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/7ab0eba423a2806ae9da7d430ea50ed7741f24e8"},{"sha":"28cef86ee44220a48db48f156aff930966ad4316","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement CRC","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/28cef86ee44220a48db48f156aff930966ad4316"},{"sha":"b502d860f50c067a2fa6fa8e87517953bc03d6ae","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add make target for firmware update files","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/b502d860f50c067a2fa6fa8e87517953bc03d6ae"},{"sha":"5a22cd613196fcee974589edb74d6cbc4b998a84","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Count pages and echo progress","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/5a22cd613196fcee974589edb74d6cbc4b998a84"},{"sha":"276e3b136b19336aa4497cfd187b227d4d35e5e5","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Substantially speed up update upload","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/276e3b136b19336aa4497cfd187b227d4d35e5e5"},{"sha":"37fbe3fd85ec6f19d2baa1bf1de8ffe50bfe7d44","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Immediately re-enable watchdog after wiping temporary app section","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/37fbe3fd85ec6f19d2baa1bf1de8ffe50bfe7d44"}]}