)]}'
{
  "commit": "822f23f438199b9a67fb5b92c9cd94cd7306c28a",
  "tree": "5bf14bf0b105edd8569e358f2e33f03949bf6135",
  "parents": [
    "c6a976c185595cac3cfadf81e64a17e4dbf2b678"
  ],
  "author": {
    "name": "June Tate-Gans",
    "email": "jtgans@google.com",
    "time": "Mon Dec 04 18:33:41 2023 +0000"
  },
  "committer": {
    "name": "June Tate-Gans",
    "email": "jtgans@google.com",
    "time": "Tue Dec 05 14:34:10 2023 +0000"
  },
  "message": "i2s: Add functionality for a loopback sanity test\n\nThis simply makes the peripheral initiate record and playback at the\nsame time, while also shoveling bytes between both FIFOs to write to\ndisk. In essence, this does a round-trip through the peripheral code,\nand should produce a 1:1 matching output on disk from the input file.\nUnfortunately, there\u0027s no easy way to detect when the recording audio\ndata has run out, so it\u0027s on the user to stop it by disabling the\nloopback bit in the control register. In short, to run this sanity\ncheck, do the following:\n\n  1. Set the input and output files in the Renode configuration script.\n  2. Start the simulation\n  3. Telnet to the Renode console\n  4. Run `i2s0 WriteDoubleWord 0x0c 4`\n  5. Wait a while.\n  6. Run `i2s0 WriteDoubleWord 0x0c 0` or quit Renode.\n\nAt this point, the output file should contain the same data as what\nwas in the input file. Since we can\u0027t determine when the file is out\nof bytes to read, it may end up zero padded.\n\nChange-Id: I79eb3f017cea3dc415305372e5670789eb329266\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bee1cbfca38569f1c40f33323fb11f0fb781a51d",
      "old_mode": 33188,
      "old_path": "shodan_infrastructure/MatchaI2S.cs",
      "new_id": "3031755636041cb361ed579db94c373609dec9a8",
      "new_mode": 33188,
      "new_path": "shodan_infrastructure/MatchaI2S.cs"
    }
  ]
}
