Example #1
0
    def create_with_write_file_action_system_file(
            file,
            interface_type=InterfaceType.HOST,
            interface_configuration=None):
        # default to host interface, when D7ASP interface is used prepend with Forward action
        cmd = Command()
        cmd.add_forward_action(interface_type, interface_configuration)
        cmd.add_action(
            RegularAction(operation=WriteFileData(
                operand=Data(offset=Offset(id=file.id), data=list(file)))))

        return cmd
Example #2
0
    def create_with_write_file_action(file_id,
                                      data,
                                      offset=0,
                                      interface_type=InterfaceType.HOST,
                                      interface_configuration=None):
        # default to host interface, when D7ASP interface is used prepend with Forward action
        cmd = Command()
        cmd.add_forward_action(interface_type, interface_configuration)
        cmd.add_action(
            RegularAction(operation=WriteFileData(operand=Data(
                offset=Offset(id=file_id, offset=offset),  # TODO offset size
                data=data))))

        return cmd
Example #3
0
def cleanup(sig, frame):
  cmd = Command()
  emFile.mode = EngineeringModeMode.ENGINEERING_MODE_MODE_OFF
  cmd.add_action(
    RegularAction(
      operation=WriteFileData(
        operand=Data(
          offset=Offset(id=emFile.id),
          data=list(emFile)
        )
      )
    )
  )
  modem.execute_command(cmd)
  sys.exit(0)
Example #4
0
 def parse_alp_write_file_data_action(self, b7, b6, s):
     operand = self.parse_alp_return_file_data_operand(s)
     return RegularAction(group=b7,
                          resp=b6,
                          operation=WriteFileData(operand=operand))
Example #5
0
        )
      )
    )

  if (config.factory_gaussian != 0xFF) or (config.factory_paramp != 0xFF):
    if (config.factory_gaussian != 0xFF) or (config.factory_paramp != 0xFF):
      fact = FactorySettingsFile(gaussian=config.factory_gaussian, paramp=config.factory_paramp)
    elif config.factory_gaussian != 0xFF:
      fact = FactorySettingsFile(gaussian=config.factory_gaussian)
    else:
      fact = FactorySettingsFile(paramp=config.factory_paramp)
    cmd.add_action(
      RegularAction(
        operation=WriteFileData(
          operand=Data(
            offset=Offset(id=fact.id),
            data=list(fact)
          )
        )
      )
    )

  cmd.add_action(
    RegularAction(
      operation=WriteFileData(
        operand=Data(
          offset=Offset(id=emFile.id),
          data=list(emFile)
        )
      )
    )
  )
Example #6
0
cmd.add_forward_action(
    InterfaceType.D7ASP,
    Configuration(qos=QoS(resp_mod=ResponseMode.RESP_MODE_ALL,
                          retry_mod=RetryMode.RETRY_MODE_NO,
                          stop_on_err=False,
                          record=False),
                  dorm_to=CT(),
                  addressee=Addressee(access_class=0x11,
                                      id_type=IdType.NBID,
                                      id=CT.compress(3),
                                      nls_method=NlsMethod.NONE)))

# the action
cmd.add_action(
    RegularAction(operation=WriteFileData(
        operand=Data(offset=Offset(id=0x41, offset=Length(0)),
                     data=list(query_sensor_file_cmd)))))

# the interface config
cmd.add_action(
    RegularAction(operation=WriteFileData(
        operand=Data(offset=Offset(id=0x42, offset=Length(0)),
                     data=list(interface_config)))))

# enable action on sensor file
file_header = FileHeader(properties=FileProperties(
    act_enabled=True,
    act_condition=ActionCondition.WRITE,
    storage_class=StorageClass.TRANSIENT),
                         alp_command_file_id=0x41,
                         interface_file_id=0x42,
Example #7
0
print(data)

cmd = Command.create_with_write_file_action(file_id=199, data=data)
answ = modem.execute_command(cmd)
cmd = Command()

f = open(config.file, "rb")
total_length = os.path.getsize(config.file)

amount_of_bytes = 239
length = 0
try:
    bytes = list(bytearray(f.read(amount_of_bytes)))
    while len(bytes) != 0:
        cmd.add_action(
            RegularAction(operation=WriteFileData(operand=Data(
                offset=Offset(id=200, offset=Length(length)), data=bytes))))
        length += amount_of_bytes

        answ = modem.execute_command(cmd)
        worked = False
        for answer in answ:
            if answer.execution_completed and not answer.completed_with_error:
                worked = True
        if not worked:
            print("write failed")
            break
        cmd = Command()
        print(
            chr(27) + "[2J\n" + str(length) + "/" + str(total_length) + ": " +
            str(length * 100 / total_length) + "%")