{"version":3,"file":"SetFieldRateMode.mjs","names":[],"sources":["../../generated/api/SetFieldRateMode.ts"],"sourcesContent":["import { encodeUIntLE, ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetFieldRateMode(addr: number, bBroadcast: boolean, fieldRateMode: number): Promise<void>;\n    trySetFieldRateMode(addr: number, fieldRateMode: number): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetFieldRateMode<Broadcast extends boolean>(\n  addr: number,\n  bBroadcast: Broadcast,\n  fieldRateMode: number\n): Request<Broadcast> {\n  const $data = encodeUIntLE(fieldRateMode, AddressMapping.FieldRateModeOccupancy);\n  const req = new Request($data, bBroadcast, 'SetFieldRateMode');\n  req.destination = addr;\n  req.address = AddressMapping.FieldRateModeAddr;\n  return req;\n}\nSession.prototype.SetFieldRateMode = async function SetFieldRateMode(\n  this: Session,\n  addr: number,\n  bBroadcast: boolean,\n  fieldRateMode: number\n): Promise<void> {\n  const req = createSetFieldRateMode(addr, bBroadcast, fieldRateMode);\n  await this.connection.send(req);\n};\nSession.prototype.trySetFieldRateMode = async function trySetFieldRateMode(\n  this: Session,\n  addr: number,\n  fieldRateMode: number\n): Promise<ErrorType | null> {\n  const req = createSetFieldRateMode(addr, false, fieldRateMode);\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;AASA,SAAwB,uBACtB,MACA,YACA,eACoB;CAEpB,MAAM,MAAM,IAAI,QADF,aAAa,gBACC,GAAG,YAAY,kBAAkB;CAC7D,IAAI,cAAc;CAClB,IAAI;CACJ,OAAO;AACT;AACA,QAAQ,UAAU,mBAAmB,eAAe,iBAElD,MACA,YACA,eACe;CACf,MAAM,MAAM,uBAAuB,MAAM,YAAY,aAAa;CAClE,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,QAAQ,UAAU,sBAAsB,eAAe,oBAErD,MACA,eAC2B;CAC3B,MAAM,MAAM,uBAAuB,MAAM,OAAO,aAAa;CAC7D,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}