code: func CompileMessage(data []byte) []byte {
  	// Compile message
  	msg := append([]byte{0x00, 0x00}, data...)
  	msg = append(msg, 0x00)
  
  	// Add length
  	msg[0] = byte(len(msg) - 1)
  
  	// Add checksum
  	msg[len(msg)-1] = GenerateChecksum(msg)
  
  	// Add header
  	msg = append([]byte{0x01}, msg...)
  
  	return msg
  }
docs: // CompileMessage is used to calculate length and checksum for messages that are going to be sent to the controller