コード例 #1
0
ファイル: Mifare.c プロジェクト: Schoberm/nxppy
PyObject *Mifare_read_block(Mifare * self, PyObject * args)
{
    uint8_t blockIdx;
    if (!PyArg_ParseTuple(args, "b", &blockIdx)) {
        return NULL;
    }

    phStatus_t status = 0;

    status = phalMful_Read(&salMfc, blockIdx, bDataBuffer);
    if (status != PH_ERR_SUCCESS) {
        return PyErr_Format(ReadError, "Read failed: %04x", status);
    }
#if PY_MAJOR_VERSION >= 3
    return Py_BuildValue("y#", &bDataBuffer[0], MFC_BLOCK_DATA_SIZE);
#else
    return Py_BuildValue("s#", &bDataBuffer[0], MFC_BLOCK_DATA_SIZE);

#endif
}
コード例 #2
0
ファイル: Mifare.c プロジェクト: vdiazg/nxppy
PyObject *Mifare_read_block(Mifare *self, PyObject *args)
{
    const size_t bufferSize = PHAL_MFUL_READ_BLOCK_LENGTH;
    uint8_t data[bufferSize];
    uint8_t blockIdx;
    phStatus_t status;

    if (!PyArg_ParseTuple(args, "b", &blockIdx)) {
        return NULL;
    }

    status = phalMful_Read(&self->data.alMful, blockIdx, data);

    if (status != PH_ERR_SUCCESS) {
        return PyErr_Format(ReadError, "Read failed: %04x", status);
    }

#if PY_MAJOR_VERSION >= 3
    return Py_BuildValue("y#", data, bufferSize);
#else
    return Py_BuildValue("s#", data, bufferSize);
#endif
}