Kotlin

Способы интеграции Kotlin

Создание объекта

val driver = MertechPrintScalesDriver()

Добавление и получение параметров

Добавление и получение параметров возможно через специальные функции, учитывающие тип данных этих параметров:

fun setIntParam(paramType: DriverParams, value: Int): Int
fun setStringParam(paramType: DriverParams, value: String): Int
fun setUTF8StringParam(paramType: DriverParams, value: String): Int
fun setBytesArrayParam(paramType: DriverParams, value: ByteArray): Int
fun getIntParam(paramType: DriverParams, value: ArrayList<Int>): Int
fun getStringParam(paramType: DriverParams, value: ArrayList<String>): Int
fun getBytesArrayParam(paramType: DriverParams, value: ArrayList<Byte>): Int

Подсказка

Список типов параметров приведён в разделе с общими принципами работы с драйвером.

Выполнение команд

Для отправки любой поддерживаемой команды на весы нужно воспользоваться универсальной функцией выполнения команды и указать в качестве аргумента значение DriverCommands, соответствующее команде.

fun executeCommand(commandType: DriverCommands): Int

После успешного выполнения команды функция вернёт значение «0». В противном случае вернётся код ошибки.

Пример работы

fun main(){
    val driver = MertechPrintScalesDriver()
    //Подключение
    driver.setStringParam(DriverParams.IP, "192.168.1.111")
    driver.setStringParam(DriverParams.PORT, "1111")
    driver.setStringParam(DriverParams.PASSWORD, "0000")
    driver.setIntParam(DriverParams.CONNECT_TIMEOUT, 4)
    driver.executeCommand(DriverCommands.CONNECT)

    //Получение названия магазина
    driver.setIntParam(DriverParams.STRING_NUMBER, 1)
    var result = driver.executeCommand(DriverCommands.GET_NAME_SHOP)
    if(result == 0){
        val shopName = arrayListOf<String>()
        result = driver.getStringParam(DriverParams.SHOP_NAME, shopName)
    }

    //Запись нового названия магазина
    driver.setIntParam(DriverParams.STRING_NUMBER, 1)
    driver.setStringParam(DriverParams.SHOP_NAME, "Пример названия")
    driver.executeCommand(DriverCommands.SET_NAME_SHOP)
}

Команды