{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":751182241,"defaultBranch":"master","name":"psdaptwor","ownerLogin":"Swyter","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-01T04:58:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/690187?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711651594.0","currentOid":""},"activityList":{"items":[{"before":"cc86b63f5152f5c625341c87381f0730e89131c8","after":"852b5b38cde3b527954e1e739cdd69325010086b","ref":"refs/heads/master","pushedAt":"2024-04-28T18:40:33.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Down from this to that, debugging adds an insane amount of overhead to the microcontroller, darn:\n\ntime diff: 9892162/10014205 122043us out of 195us\ntime diff: 9967639/10014205 46566us out of 195us\n\ntime diff: 7573231/7649035 75804us out of 195us\ntime diff: 7648710/7649035 325us out of 195us\n\n---- Closed the serial port COM4 ----\n---- Opened the serial port COM4 ----\nFUSB_DEVICE_ID: revision ID: 0x8, Product ID: 0, Revision ID: 0x1\nb write ret: 0\nc write ret: 0\nd write ret: 0\ne write ret: 0\nb read FUSB_SWITCHES0: 0x7 [SWITCHES0]: MEAS_CC1|CC2_PD_EN|CC1_PD_EN,\nb read FUSB_SWITCHES1: 0x21 [SWITCHES1]: SPECREV0|TXCC1_EN,\nb read FUSB_MEASURE: 0x31\nb read FUSB_SWITCHES0: 0x7 [SWITCHES0]: MEAS_CC1|CC2_PD_EN|CC1_PD_EN,\nb read FUSB_MEASURE: 0x31\nCC1 level = Open\nCC2 level = Connected with 3.0A at 5V\nset_polarity(1)\nserial input:\nserial input: r\n[STATUS0]: VBUSOK|BC_LVL1|BC_LVL0,\n[STATUS1]: RX_EMPTY|TX_EMPTY,\n[STATUS0A]: POWER3|POWER2,\n[SWITCHES0]: MEAS_CC2|CC2_PD_EN|CC1_PD_EN,\n[SWITCHES1]: SPECREV0|TXCC2_EN,\n[POWER]: PWR3|PWR2|PWR1|PWR0,\n[CONTROL0]: HOST_CUR0,\n[CONTROL1]: 0,\n[CONTROL2]: 0,\n[CONTROL3]: N_RETRIES1|N_RETRIES0|AUTO_RETRY,\n--\n\nget_absolute_time 536917784\nb write ret: 0\nb read 0: 0x81\nFUSB_DEVICE_ID: revision ID: 0x8, Product ID: 0, Revision ID: 0x1\nb write ret: 0\nc write ret: 0\nd write ret: 0\ne write ret: 0\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\nCC1 level = Open\nCC2 level = Connected with 3.0A at 5V\nset_polarity(1)\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 7573231/7649035 75804us out of 195us\ntime diff: 7648710/7649035 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 7954911/8030665 75754us out of 195us\ntime diff: 8030341/8030665 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 8187786/8263618 75832us out of 195us\ntime diff: 8263290/8263618 328us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 8418785/8494613 75828us out of 195us\ntime diff: 8494289/8494613 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 8796600/8872556 75956us out of 195us\ntime diff: 8872232/8872556 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 9024191/9100176 75985us out of 195us\ntime diff: 9099851/9100176 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 9403695/9479601 75906us out of 195us\ntime diff: 9479276/9479601 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 9636325/9712309 75984us out of 195us\ntime diff: 9711985/9712309 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 10014332/10090316 75984us out of 195us\ntime diff: 10089992/10090316 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 10242065/10317972 75907us out of 195us\ntime diff: 10317648/10317972 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 10473255/10549008 75753us out of 195us\ntime diff: 10548684/10549008 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 10700717/10776627 75910us out of 195us\ntime diff: 10776299/10776627 328us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 10928341/11004249 75908us out of 195us\ntime diff: 11003925/11004249 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 11156013/11231866 75853us out of 195us\ntime diff: 11231541/11231866 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 11383588/11459493 75905us out of 195us\ntime diff: 11459168/11459493 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 11611238/11687146 75908us out of 195us\ntime diff: 11686822/11687146 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 11838886/11914786 75900us out of 195us\ntime diff: 11914461/11914786 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 12072015/12147767 75752us out of 195us\ntime diff: 12147443/12147767 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 12299488/12375404 75916us out of 195us\ntime diff: 12375079/12375404 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 12682220/12758177 75957us out of 195us\ntime diff: 12757853/12758177 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 12909883/12985790 75907us out of 195us\ntime diff: 12985465/12985790 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 13137518/13213439 75921us out of 195us\ntime diff: 13213115/13213439 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 13365188/13441042 75854us out of 195us\ntime diff: 13440717/13441042 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 13592769/13668676 75907us out of 195us\ntime diff: 13668351/13668676 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 13820394/13896298 75904us out of 195us\ntime diff: 13895974/13896298 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 14048004/14123912 75908us out of 195us\ntime diff: 14123588/14123912 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 14431180/14507138 75958us out of 195us\ntime diff: 14506813/14507138 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 14658887/14734740 75853us out of 195us\ntime diff: 14734416/14734740 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 14886489/14962342 75853us out of 195us\ntime diff: 14962017/14962342 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 15114085/15189939 75854us out of 195us\ntime diff: 15189614/15189939 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 15341689/15417523 75834us out of 195us\ntime diff: 15417199/15417523 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 15569229/15645137 75908us out of 195us\ntime diff: 15644813/15645137 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 15953996/16029825 75829us out of 195us\ntime diff: 16029501/16029825 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 16337466/16413269 75803us out of 195us\ntime diff: 16412945/16413269 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 16569717/16645702 75985us out of 195us\ntime diff: 16645376/16645702 326us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 16797454/16873284 75830us out of 195us\ntime diff: 16872959/16873284 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 17028522/17104274 75752us out of 195us\ntime diff: 17103950/17104274 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 17256031/17331864 75833us out of 195us\ntime diff: 17331534/17331864 330us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 17483577/17559484 75907us out of 195us\ntime diff: 17559160/17559484 324us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 17866771/17942704 75933us out of 195us\ntime diff: 17942379/17942704 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n\nget_absolute_time 536917784\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: TX_EMPTY,\n[i] ---\n[typec] get_message: ret=16, header=41a1, ndataobj=4, id=0, pwrole=1, specrev=0x2, datarole=1 type=SOURCE_CAPABILITIES/0x1 buf=2c 91 01 08 2c d1 02 00 2c b1 04 00 e1 40 06 00 27 ab dd 49\n\nget_absolute_time 536917784\ntime diff: 18094451/18170297 75846us out of 195us\ntime diff: 18169972/18170297 325us out of 195us\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---","shortMessageHtmlLink":"Firmware: Down from this to that, debugging adds an insane amount of …"}},{"before":"1c370932f2711a7eea8031a415bf5ea336a7666f","after":"cc86b63f5152f5c625341c87381f0730e89131c8","ref":"refs/heads/master","pushedAt":"2024-04-23T23:30:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Add a 'r' serial input key for reset. Lower the I2C baud rate to 10MHz, for now. Flush the TXFIFO and RXFIFO on init(). And add more debugging prints, because this never ends up working like it should. the first valid byte of the RX buffer should be a e0 SOP token. So keep it in mind.\n\n[i] USB-C controller interrupt request: 2 4\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\nCC1 level = Connected with 3.0A at 5V\nCC2 level = Open\nset_polarity(0)\n[i] USB-C controller interrupt request: 2 4\nreturn get_message PART 2; e0 a1 41\n; get_num_bytes 16;\n[i] reading interrupt registers\n[INTERRUPTA]: I_HARDRST, [INTERRUPTB]: I_GCRCSENT, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL, [STATUS1]: RX_EMPTY|TX_EMPTY,\n[i] ---\n[i] USB-C controller interrupt request: 2 4\n[i] reading interrupt registers\n[INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK, [STATUS1]: RX_EMPTY|TX_EMPTY,","shortMessageHtmlLink":"Firmware: Add a 'r' serial input key for reset. Lower the I2C baud ra…"}},{"before":"5f7d33857675a3d21b176090929301dcc756bfca","after":"1c370932f2711a7eea8031a415bf5ea336a7666f","ref":"refs/heads/master","pushedAt":"2024-04-23T20:26:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Raise the I2C baudrate from 100 to 500000. That's right, I'm stupid. It was arriving late because the bus was insanely slow, big brain time.","shortMessageHtmlLink":"Firmware: Raise the I2C baudrate from 100 to 500000. That's right, I'…"}},{"before":"8034748ab57277d2bcf85995311e8f1c84db0aca","after":"5f7d33857675a3d21b176090929301dcc756bfca","ref":"refs/heads/master","pushedAt":"2024-04-23T16:41:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Trying to figure out why transmitting doesn't work, not even a simple GoodCRC message, probably timing. Flush the FIFO on send_message(), log the FIFO fill state in STATUS1. Disable FUSB_SWITCHES0_MEAS_CC1/2 unless needed, in case that causes issues. I should probably clear the interrupt registers by reading in the interrupt itself, but without printing via fprint(), which may cause issues.","shortMessageHtmlLink":"Firmware: Trying to figure out why transmitting doesn't work, not eve…"}},{"before":"5b38cc5e0cc1af4fba0f213c39d0423525bf9c54","after":"8034748ab57277d2bcf85995311e8f1c84db0aca","ref":"refs/heads/master","pushedAt":"2024-04-23T13:55:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start working on a function to send Power Delivery messages through the I2C interface of the FUSB32B Type-C controller chip.\n\nHeavily based on this ChromeOS EC source code: https://github.com/ReclaimerLabs/FUSB302/blob/fb2eb0e1130d4c9792ebca1b7dee9b0fd8b515d6/FUSB302.cpp#L535","shortMessageHtmlLink":"Firmware: Start working on a function to send Power Delivery messages…"}},{"before":"665e3caec0a3f54b8f5a1ab7fb53ccf6dbb2cfa4","after":"5b38cc5e0cc1af4fba0f213c39d0423525bf9c54","ref":"refs/heads/master","pushedAt":"2024-04-23T12:43:59.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Explain that the RP and RD pull terminators correspond to DFP and UFP, respectively.","shortMessageHtmlLink":"Firmware: Explain that the RP and RD pull terminators correspond to D…"}},{"before":"de110f4eb822bf2e2b7cffbbf1148175e1a1282e","after":"665e3caec0a3f54b8f5a1ab7fb53ccf6dbb2cfa4","ref":"refs/heads/master","pushedAt":"2024-04-22T07:51:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Dump the entire Power Delivery messages we get as a raw hex dump.","shortMessageHtmlLink":"Firmware: Dump the entire Power Delivery messages we get as a raw hex…"}},{"before":"d4fc095a4c0ddf2e77bedc2ebf44b45895c7cb6b","after":"de110f4eb822bf2e2b7cffbbf1148175e1a1282e","ref":"refs/heads/master","pushedAt":"2024-04-22T06:37:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start working on auto-setting the USB-C CC channel polarity on re-plug. Quick and dirty, but one has to start somewhere.","shortMessageHtmlLink":"Firmware: Start working on auto-setting the USB-C CC channel polarity…"}},{"before":"cf1656d495a89b5071c335544240b4796419badc","after":"d4fc095a4c0ddf2e77bedc2ebf44b45895c7cb6b","ref":"refs/heads/master","pushedAt":"2024-04-20T04:42:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Create .gitattributes to make GitHub understand KiCad schematics and design files instead of unrelated web stuff.\n\nBased on the one seen in: https://github.com/Redherring32/OpenTendo","shortMessageHtmlLink":"Create .gitattributes to make GitHub understand KiCad schematics and …"}},{"before":"7ed6274dca62f8378c036e7f57c61755460a7da1","after":"cf1656d495a89b5071c335544240b4796419badc","ref":"refs/heads/master","pushedAt":"2024-04-17T06:57:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Move the printf() stuff out of the interrupt handler, just set a boolean and in do it in the main loop, fixes the weirdness and somewhat getting stuck, sometimes. Clean up the serial input to avoid received NULL bytes appearing as valid, causing the register dump to appear twice. We are good.","shortMessageHtmlLink":"Firmware: Move the printf() stuff out of the interrupt handler, just …"}},{"before":"502f9d5167f7dc4cb77c9c72560174ce2689abf4","after":"7ed6274dca62f8378c036e7f57c61755460a7da1","ref":"refs/heads/master","pushedAt":"2024-04-17T06:19:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Now we're talking; well, listening Power Delivery. Slim down and decruft the IRQ callback. Move most of the register dumping to happen on request when we send keys inputs from the PC via serial. This is from a Steam Deck connected at startup.\n\n---- Opened the serial port COM4 ----\n\nI2C Bus Scan test\n 0 1 2 3 4 5 6 7 8 9 A B C D E F\n00 . . . . . . . . . . . . . . . .\n10 . . . . . . . . . . . . . . . .\n20 . . @ . . . . . . . . . . . . .\n30 . . . . . . . . . . . . . . . .\n40 . . . . . . . . . . . . . . . .\n50 . . . . . . . . . . . . . . . .\n60 . . . . . . . . . . . . . . . .\n70 . . . . . . . . . . . . . . . .\nDone, for real. :-)\nb write ret: 0\nb read 0: 0x81\nFUSB_DEVICE_ID: revision ID: 0x8, Product ID: 0, Revision ID: 0x1\nc write ret: 0\nd write ret: 0\ne write ret: 0\nb write ret: 0\nCC1 level = Connected with default power\nCC2 level = Open\nset_polarity(0)\nb read FUSB_SWITCHES0: 0x7 [SWITCHES1]: AUTO_CRC|TXCC2_EN|TXCC1_EN,\nb read FUSB_SWITCHES1: 0x25 [SWITCHES1]: SPECREV0|AUTO_CRC|TXCC1_EN,\nb read FUSB_MEASURE: 0x31\nb read FUSB_SWITCHES0: 0x7 [SWITCHES0]: MEAS_CC1|CC2_PD_EN|CC1_PD_EN,\nb read FUSB_MEASURE: 0x31\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_CRC_CHK|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: I_HARDRST, [INTERRUPTB]: I_GCRCSENT, [INTERRUPT]: I_VBUSOK|I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: I_ACTIVITY|I_BC_LVL,\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: 0, [INTERRUPTB]: 0, [INTERRUPT]: 0,","shortMessageHtmlLink":"Firmware: Now we're talking; well, listening Power Delivery. Slim dow…"}},{"before":"f47f3acb798a2da1739f467e7a47b30817af1789","after":"502f9d5167f7dc4cb77c9c72560174ce2689abf4","ref":"refs/heads/master","pushedAt":"2024-04-17T05:42:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start fiddling with getting serial input from the PC host, to get extra info under demand without spamming constantly.","shortMessageHtmlLink":"Firmware: Start fiddling with getting serial input from the PC host, …"}},{"before":"630b4edaf8473c273a1c0d383a4b309290419155","after":"f47f3acb798a2da1739f467e7a47b30817af1789","ref":"refs/heads/master","pushedAt":"2024-04-17T04:58:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Well, there we go, now I get Power Delivery messages from a Steam Deck, what a terrible way to program, turns out I was testing against a motherboard port which didn't support PD, only 5V/3A through CC resistors:\n\ne write ret: 0\nb write ret: 0\nCC1 level = Open\nCC2 level = Connected with default power\nset_polarity(1)\nb read FUSB_SWITCHES0: 0xb [SWITCHES1]: TXCC2_EN|TXCC1_EN0x8,\nb read FUSB_SWITCHES1: 0x26 [SWITCHES1]: SPECREV0|AUTO_CRC|TXCC2_EN,\nb read FUSB_MEASURE: 0x31\nb read FUSB_SWITCHES0: 0xb [SWITCHES0]: MEAS_CC2|CC2_PD_EN|CC1_PD_EN,\nb read FUSB_MEASURE: 0x31\n; get_num_bytes 4; [typec] get_message: ret=4, buf=8a360190, header=9611","shortMessageHtmlLink":"Firmware: Well, there we go, now I get Power Delivery messages from a…"}},{"before":"a2c53bdf853d69512b48ea9f0031114f4eec46b3","after":"630b4edaf8473c273a1c0d383a4b309290419155","ref":"refs/heads/master","pushedAt":"2024-04-17T04:17:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Getting a little bit closer receiving random BMC packets far in between. I believe. Still sweating bullets.\n\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\ni2c_read_blocking; 3; ; get_num_bytes 0; i2c_read_blocking b; 4; get_message: ret=0, buf=0, header=0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\ni2c_read_blocking; 3; ; get_num_bytes 4; i2c_read_blocking b; 8; get_message: ret=0, buf=36019096, header=11a1\n[adc] Raw value: 0x01d, measured voltage: 0.023364 V, actual pre-divided voltage: 0.169922 V\ni2c_read_blocking; 3; ; get_num_bytes 0; i2c_read_blocking b; 4; get_message: ret=0, buf=0, header=0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\ni2c_read_blocking; 3; ; get_num_bytes 0; i2c_read_blocking b; 4; get_message: ret=0, buf=0, header=0","shortMessageHtmlLink":"Firmware: Getting a little bit closer receiving random BMC packets fa…"}},{"before":"0453f5462781255b78c69d3b01d3fc9b5fe83d04","after":"a2c53bdf853d69512b48ea9f0031114f4eec46b3","ref":"refs/heads/master","pushedAt":"2024-04-17T04:05:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Add plenty of printf debugging to fix up my `get_message()` implementation. The RX FIFO seems empty, though. :(","shortMessageHtmlLink":"Firmware: Add plenty of printf debugging to fix up my get_message()…"}},{"before":"8e2662560200bcab1e33fe7307ce5378d7c1c28e","after":"0453f5462781255b78c69d3b01d3fc9b5fe83d04","ref":"refs/heads/master","pushedAt":"2024-04-17T03:48:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start working on a proper get_message() function. Still nothing.","shortMessageHtmlLink":"Firmware: Start working on a proper get_message() function. Still not…"}},{"before":"789f43cedf11f8b1d7df6305159f41006d773fef","after":"8e2662560200bcab1e33fe7307ce5378d7c1c28e","ref":"refs/heads/master","pushedAt":"2024-04-17T03:10:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Heck yeah, I only had to rewrite the whole initialization code. But now we're talking Type-C, I believe. Man, what a pain.\n\nDone, for real. :-)\n---- Closed serial port COM4 due to disconnection from the machine ----\n---- Opened the serial port COM4 ----\n\nI2C Bus Scan test\n 0 1 2 3 4 5 6 7 8 9 A B C D E F\n00 . . . . . . . . . . . . . . . .\n10 . . . . . . . . . . . . . . . .\n20 . . @ . . . . . . . . . . . . .\n30 . . . . . . . . . . . . . . . .\n40 . . . . . . . . . . . . . . . .\n50 . . . . . . . . . . . . . . . .\n60 . . . . . . . . . . . . . . . .\n70 . . . . . . . . . . . . . . . .\nDone, for real. :-)\nb write ret: 0\nb read 0: 0x81\nrevision ID: 0x8, Product ID: 0, Revision ID: 0x1\nc write ret: 0\nd write ret: 0\ne write ret: 0\nb write ret: 0\nCC1 level = Open\nCC2 level = Open\nset_polarity(1)\nb read FUSB_SWITCHES0: 0xb [SWITCHES1]: TXCC2_EN|TXCC1_EN0x8,\nb read FUSB_SWITCHES1: 0x26 [SWITCHES1]: SPECREV0|AUTO_CRC|TXCC2_EN,\nb read FUSB_MEASURE: 0x31\nb read FUSB_SWITCHES0: 0xb [SWITCHES0]: MEAS_CC2|CC2_PD_EN|CC1_PD_EN,\nb read FUSB_MEASURE: 0x31\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01c, measured voltage: 0.022559 V, actual pre-divided voltage: 0.164062 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0 0 0 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0xe0 0xa1 0x41 0x2c\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0x91 0x1 0x8 0x2c\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0xd1 0x2 0 0x2c\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\nb read FUSB_FIFOS: 0xb1 0x4 0 0xe1\n[adc] Raw value: 0x01f, measured voltage: 0.024976 V, actual pre-divided voltage: 0.181641 V\nb read FUSB_FIFOS: 0x40 0x6 0 0x27\n[adc] Raw value: 0x01d, measured voltage: 0.023364 V, actual pre-divided voltage: 0.169922 V\nb read FUSB_FIFOS: 0xab 0xdd 0x49 0\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V","shortMessageHtmlLink":"Firmware: Heck yeah, I only had to rewrite the whole initialization c…"}},{"before":"b7faa4b25660ed953b124189ae8ad155cf7d52e9","after":"789f43cedf11f8b1d7df6305159f41006d773fef","ref":"refs/heads/master","pushedAt":"2024-04-17T02:55:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Port over more CC pin state retrieval logic and resistor state, which is used to get the maximum amperage.","shortMessageHtmlLink":"Firmware: Port over more CC pin state retrieval logic and resistor st…"}},{"before":"af8b4ac338c049234670582faa2fa88ad00ea3bf","after":"b7faa4b25660ed953b124189ae8ad155cf7d52e9","ref":"refs/heads/master","pushedAt":"2024-04-17T02:34:04.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Improve the type-C controller flag names for the pull-ups and pull-downs to make them less confusing. Switch to a library-like functionality, heavily based on the ChromeOS EC.","shortMessageHtmlLink":"Firmware: Improve the type-C controller flag names for the pull-ups a…"}},{"before":"aeddea5151554b294192b86bb62281ca23b85c73","after":"af8b4ac338c049234670582faa2fa88ad00ea3bf","ref":"refs/heads/master","pushedAt":"2024-04-17T01:00:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Add support for printing the FUSB_POWER and FUSB_CONTROL* registers. For some reason the stdio output is clipping on interrupts. Fix the 0b binary prefix in headers. I wrote 0xb by mistake causing garbage output.\n\nf write ret: 0\n[INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK,\n[STATUS0]: VBUSOK|BC_LVL1|BC_LVL0,\n[STATUS0A]: POWER3|POWER2,\n[SWITCHES0]: PDWN_2|PDWN_1,\n[SWITCHES1]: SPECREV0,\n[CONTROL0]: HOST_CUR0,\n[CONTROL2]: MODE0|TOGGLE,\n[CONTROL3]: N_RETRIES1|N_RETRIES0,\n[i] ---\nf write ret: 0\nb read FUSB_SWITCHES0: 0x3\nb read FUSB_SWITCHES1: 0x20\nb read FUSB_MEASURE: 0x31\nb read FUSB_SWITCHES0: 0x3\nb read FUSB_MEASURE: 0x31\n[adc] Raw value: 0x01e, measured voltage: 0.024170 V, actual pre-divided voltage: 0.175781 V\ncc1_is_bigger_than_cc2 cc1 write FUSB_SWITCHES1: 0\ncc1_is_bigger_than_cc2 cc1 write FUSB_SWITCHES1: 0","shortMessageHtmlLink":"Firmware: Add support for printing the FUSB_POWER and FUSB_CONTROL* r…"}},{"before":"28a769d1185a5599cacf2cc02bf058860a689c31","after":"aeddea5151554b294192b86bb62281ca23b85c73","ref":"refs/heads/master","pushedAt":"2024-04-17T00:10:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Add FUSB_SWITCHES1 flag debug support. Define the bits of the SPECREV1 and SPECREV0 field in the FUSB register header.","shortMessageHtmlLink":"Firmware: Add FUSB_SWITCHES1 flag debug support. Define the bits of t…"}},{"before":"fcbb2f210e6a89127fe781ab797c26cf4b13e918","after":"28a769d1185a5599cacf2cc02bf058860a689c31","ref":"refs/heads/master","pushedAt":"2024-04-16T23:46:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Improve the flag print system to properly handle printing | when needed and raw numbers when there are unknown flags remaining in the number. Add two missing flags in the header.\n\n[i] USB-C controller interrupt request: 2 [INTERRUPTA]: I_TOGDONE, [INTERRUPTB]: 0, [INTERRUPT]: I_VBUSOK, [STATUS0]: VBUSOK|BC_LVL1|BC_LVL0, [STATUS0A]: POWER3|POWER2, [SWITCHES0]: PDWN_2|PDWN_1, f write ret: 0\nf write ret: 0","shortMessageHtmlLink":"Firmware: Improve the flag print system to properly handle printing |…"}},{"before":"bfba801a9b960bfd2c9172a13da5c868467b663d","after":"fcbb2f210e6a89127fe781ab797c26cf4b13e918","ref":"refs/heads/master","pushedAt":"2024-04-16T23:09:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Add more register flags to the print function, tweak how the whole X macro thingie works.","shortMessageHtmlLink":"Firmware: Add more register flags to the print function, tweak how th…"}},{"before":"b7e99f33b02d073063ed99bc258f3156709bf9e5","after":"bfba801a9b960bfd2c9172a13da5c868467b663d","ref":"refs/heads/master","pushedAt":"2024-04-16T22:45:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start working on getting some straightforward stringified flag names automatically via macro wizardry.","shortMessageHtmlLink":"Firmware: Start working on getting some straightforward stringified f…"}},{"before":"6c80448c552de0bf38414f493d769461c5705037","after":"b7e99f33b02d073063ed99bc258f3156709bf9e5","ref":"refs/heads/master","pushedAt":"2024-04-16T22:14:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Try to make the BMC receiver work, as a sink, and get some RX packets from the FIFO register. I got a 0x7 byte one time, that's progress. Start working on using bit tiddling individual register bits, instead of setting the whole thing at once.","shortMessageHtmlLink":"Firmware: Try to make the BMC receiver work, as a sink, and get some …"}},{"before":"0687830f795c905aa3cdb1669417273504d1086d","after":"6c80448c552de0bf38414f493d769461c5705037","ref":"refs/heads/master","pushedAt":"2024-04-16T05:39:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Toggling the hot-plug-detection pin on and off momentarily freezes the display driver and cursor, probably while trying to read an unresponsive DP-AUX channel. I guess that does something, I wouldn't recommend connecting your DisplayPort cables to it like I do. Yeah, completely freezes my actual screen with the same frequency I'm pulsing the connector signal, and I can even see the framebuffer flicker to black sometimes, like when you plug another screen.\n\nMaking the pulses shorter completely resets the cursor position on Windows and freezes everything for seconds, I think the graphics card stops transmitting altogether, absolute denial of service. Had to unplug it manually.","shortMessageHtmlLink":"Firmware: Toggling the hot-plug-detection pin on and off momentarily …"}},{"before":"e597ad9af3c6b547eecd3d6964292f8745284494","after":"0687830f795c905aa3cdb1669417273504d1086d","ref":"refs/heads/master","pushedAt":"2024-04-15T09:31:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Try to improve the FUSB302 glue logic a bit more, start reading the FIFOS register, still nothing. I'm definitely missing something pull-up/down related and a bunch of register writes. Delay turning on the PowerDelivery state machine until configured, as in the Google ChromeOS implementation.","shortMessageHtmlLink":"Firmware: Try to improve the FUSB302 glue logic a bit more, start rea…"}},{"before":"597219ba73d6afb1e28b61302bd25438bade344c","after":"e597ad9af3c6b547eecd3d6964292f8745284494","ref":"refs/heads/master","pushedAt":"2024-04-15T07:32:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Fix the interrupts not triggering because I was not reading (an hence clearing) the FUSB_INTERRUPT and FUSB_INTERRUPTB registers. Found while reading the ChromeOS EC implementation, link it above.","shortMessageHtmlLink":"Firmware: Fix the interrupts not triggering because I was not reading…"}},{"before":"386701e2f6ff39a39758a15b46eecbfc94f09f3e","after":"597219ba73d6afb1e28b61302bd25438bade344c","ref":"refs/heads/master","pushedAt":"2024-04-15T05:36:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Start to configure the BMC transmitter in the right CC line. Enable auto-toggling in sink mode.","shortMessageHtmlLink":"Firmware: Start to configure the BMC transmitter in the right CC line…"}},{"before":"6eee1208476e3148f9f1835a488906bc64d0dbf7","after":"386701e2f6ff39a39758a15b46eecbfc94f09f3e","ref":"refs/heads/master","pushedAt":"2024-04-15T04:48:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Firmware: Factor out the CC1 and CC2 check into fusb_compare_cc1_and_cc2() function. More cleanups. Change how LEDs work.","shortMessageHtmlLink":"Firmware: Factor out the CC1 and CC2 check into fusb_compare_cc1_and_…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPGKfYAA","startCursor":null,"endCursor":null}},"title":"Activity · Swyter/psdaptwor"}