{"version":3,"file":"SetLoadMode.mjs","names":[],"sources":["../../generated/api/SetLoadMode.ts"],"sourcesContent":["import { encodeUIntLE, ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\nimport { SourceSelectLoadModeEnum } from '../SourceSelectLoadMode';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetLoadMode(\n      addr: number,\n      bBroadcast: boolean,\n      loadMode: SourceSelectLoadModeEnum\n    ): Promise<void>;\n    trySetLoadMode(addr: number, loadMode: SourceSelectLoadModeEnum): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetLoadMode<Broadcast extends boolean>(\n  addr: number,\n  bBroadcast: Broadcast,\n  loadMode: SourceSelectLoadModeEnum\n): Request<Broadcast> {\n  const $data = encodeUIntLE(loadMode, AddressMapping.LoadModeOccupancy);\n  const req = new Request($data, bBroadcast, 'SetLoadMode');\n  req.destination = addr;\n  req.address = AddressMapping.LoadModeAddr;\n  return req;\n}\nSession.prototype.SetLoadMode = async function SetLoadMode(\n  this: Session,\n  addr: number,\n  bBroadcast: boolean,\n  loadMode: SourceSelectLoadModeEnum\n): Promise<void> {\n  const req = createSetLoadMode(addr, bBroadcast, loadMode);\n  await this.connection.send(req);\n};\nSession.prototype.trySetLoadMode = async function trySetLoadMode(\n  this: Session,\n  addr: number,\n  loadMode: SourceSelectLoadModeEnum\n): Promise<ErrorType | null> {\n  const req = createSetLoadMode(addr, false, loadMode);\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;AAcA,SAAwB,kBACtB,MACA,YACA,UACoB;CAEpB,MAAM,MAAM,IAAI,QADF,aAAa,WACC,GAAG,YAAY,aAAa;CACxD,IAAI,cAAc;CAClB,IAAI;CACJ,OAAO;AACT;AACA,QAAQ,UAAU,cAAc,eAAe,YAE7C,MACA,YACA,UACe;CACf,MAAM,MAAM,kBAAkB,MAAM,YAAY,QAAQ;CACxD,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,QAAQ,UAAU,iBAAiB,eAAe,eAEhD,MACA,UAC2B;CAC3B,MAAM,MAAM,kBAAkB,MAAM,OAAO,QAAQ;CACnD,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}