)]}'
{
  "commit": "094778ddba6c7af716d9c8f4d17a6e1961009859",
  "tree": "01d9fb0ad09c0a6e7e55b7beec86b265d816426d",
  "parents": [
    "d5e7d7068562884096a3b495b361f0d68b8ed542"
  ],
  "author": {
    "name": "Anthony DiGirolamo",
    "email": "tonymd@google.com",
    "time": "Wed Feb 14 18:08:17 2024 +0000"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 14 18:08:17 2024 +0000"
  },
  "message": "Merged logging with HDLC, log and ADC protos\n\n- New device log handler: proto_over_hdlc.cc. This sends log proto\n  entries over serial in an HDLC frame.\n- fpga_config/main.cc adds an ADCIdleTask to allow starting and\n  stopping adc logging when pressing enter.\n- Remove log statements from interrupt handlers.\n- Tweak the kFramedProtoMagicConstant to remove the `~`\n  character (0x7E) which is used in HDLC.\n- Python changes:\n  - Refactor serial parsing to separate ADC proto updates from HDLC\n    wrapped log messages.\n  - Binary data functions added to help with read/write buffers and\n    parse varint encoding.\n\nBug: b/323017707\nChange-Id: Ib6e1804be497b2c3d8aaf5657bd2546e07ddbe61\nReviewed-on: https://pigweed-review.googlesource.com/c/gonk/+/190510\nReviewed-by: Eric Holland \u003chollande@google.com\u003e\nCommit-Queue: Anthony DiGirolamo \u003ctonymd@google.com\u003e\nReviewed-by: Ted Pudlik \u003ctpudlik@google.com\u003e\nPresubmit-Verified: CQ Bot Account \u003cpigweed-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02a38fc6c63ff063c770acf1292b2a663606bad0",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "af729c0a9493339105f9dc1f012140e3a60a5d97",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "6492d0114f79ea06c27baf6a0a1788a74f5fc503",
      "old_mode": 33188,
      "old_path": "applications/fpga_config/main.cc",
      "new_id": "1699362638f55f9d3baa59bcc7f335044bcc708b",
      "new_mode": 33188,
      "new_path": "applications/fpga_config/main.cc"
    },
    {
      "type": "modify",
      "old_id": "40ed56ebe04f06855c3f9dd47be3738c0475df0d",
      "old_mode": 33188,
      "old_path": "lib/adc/adc.cc",
      "new_id": "b95516b7f842cf286cb96336eb0376a28640dbe4",
      "new_mode": 33188,
      "new_path": "lib/adc/adc.cc"
    },
    {
      "type": "modify",
      "old_id": "9607fd6d65c53a7fee8eea1455f3cee6999c6156",
      "old_mode": 33188,
      "old_path": "lib/adc/public/gonk/adc.h",
      "new_id": "9ab9ed0254970cfd7e0d53b0cab6547d48e471dd",
      "new_mode": 33188,
      "new_path": "lib/adc/public/gonk/adc.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8a07725f630a1abf6ddc95c00aa098cdd277ba8a",
      "new_mode": 33188,
      "new_path": "lib/log_backends/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87867fbe4b9ea5af9c042a250bb8acf940715c44",
      "new_mode": 33188,
      "new_path": "lib/log_backends/proto_over_hdlc.cc"
    },
    {
      "type": "modify",
      "old_id": "b0fe0e245a0ea1a097e68473351741fbb4680392",
      "old_mode": 33188,
      "old_path": "targets/stm32f730r8tx_arduino/target_toolchains.gni",
      "new_id": "15c756d28a84314203fb93e34e694e88bcc9e203",
      "new_mode": 33188,
      "new_path": "targets/stm32f730r8tx_arduino/target_toolchains.gni"
    },
    {
      "type": "modify",
      "old_id": "3b8c8f1440611cdd8de60f5567fff58294029d5f",
      "old_mode": 33188,
      "old_path": "tools/BUILD.gn",
      "new_id": "d7027cdc531f7b304a0793ab8f0be7ea3fe25436",
      "new_mode": 33188,
      "new_path": "tools/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c89b1f25f88ade38826c6cb3e399b21556aa7bd6",
      "new_mode": 33188,
      "new_path": "tools/binary_handler_test.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ead60b7aae2d9bbf0f93613a944b3b3340fc17ba",
      "new_mode": 33188,
      "new_path": "tools/gonk_tools/binary_handler.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6709037b0209e19bdc49178ae08fbe08725d6b66",
      "new_mode": 33188,
      "new_path": "tools/gonk_tools/gonk_log_stream.py"
    },
    {
      "type": "modify",
      "old_id": "9699bcd843183d54664b192ec5577c7739484da5",
      "old_mode": 33188,
      "old_path": "tools/gonk_tools/write_fpga.py",
      "new_id": "fd879f72f5592f5994f0af853f230d8cc2c6468b",
      "new_mode": 33188,
      "new_path": "tools/gonk_tools/write_fpga.py"
    }
  ]
}
