code: def compute_srec_checksum(srec):
      
      # Get the summable data from srec
      # start at 2 to remove the S* record entry
      data = srec[2:len(srec)]
  
      sum = 0
      # For each byte, convert to int and add.
      # (step each two character to form a byte)
      for position in range(0, len(data), 2):
          current_byte = data[position : position+2]
          int_value = int(current_byte, 16)
          sum += int_value
  
      # Extract the Least significant byte from the hex form
      hex_sum = hex(sum)
      least_significant_byte = hex_sum[len(hex_sum)-2:]
      least_significant_byte = least_significant_byte.replace('x', '0')
  
      # turn back to int and find the 8-bit one's complement
      int_lsb = int(least_significant_byte, 16)
      computed_checksum = (~int_lsb) & 0xff
  
      return computed_checksum
docs: Compute the checksum byte of a given S-Record
          Returns: The checksum as a string hex byte (ex: "0C")