コード例 #1
0
ファイル: decoder.c プロジェクト: scs/leanXzebra
zebra_decoder_t *zebra_decoder_create ()
{
    zebra_decoder_t *dcode = malloc(sizeof(zebra_decoder_t));
    dcode->buflen = BUFFER_MIN;
    dcode->buf = malloc(dcode->buflen);
    dcode->handler = dcode->userdata = NULL;

    /* initialize default configs */
#ifdef ENABLE_EAN
    dcode->ean.enable = 1;
    dcode->ean.ean13_config = ((1 << ZEBRA_CFG_ENABLE) |
                               (1 << ZEBRA_CFG_EMIT_CHECK));
    dcode->ean.ean8_config = ((1 << ZEBRA_CFG_ENABLE) |
                              (1 << ZEBRA_CFG_EMIT_CHECK));
    dcode->ean.upca_config = 1 << ZEBRA_CFG_EMIT_CHECK;
    dcode->ean.upce_config = 1 << ZEBRA_CFG_EMIT_CHECK;
    dcode->ean.isbn10_config = 1 << ZEBRA_CFG_EMIT_CHECK;
    dcode->ean.isbn13_config = 1 << ZEBRA_CFG_EMIT_CHECK;
#endif
#ifdef ENABLE_I25
    dcode->i25.config = 1 << ZEBRA_CFG_ENABLE;
#endif
#ifdef ENABLE_CODE39
    dcode->code39.config = 1 << ZEBRA_CFG_ENABLE;
#endif
#ifdef ENABLE_CODE128
    dcode->code128.config = 1 << ZEBRA_CFG_ENABLE;
#endif
#ifdef ENABLE_PDF417
    dcode->pdf417.config = 1 << ZEBRA_CFG_ENABLE;
#endif

    zebra_decoder_reset(dcode);
    return(dcode);
}
コード例 #2
0
ファイル: scanner.c プロジェクト: dev2dev/itemshelf
zebra_symbol_type_t zebra_scanner_reset (zebra_scanner_t *scn)
{
    memset(&scn->x, 0, sizeof(zebra_scanner_t) + (void*)scn - (void*)&scn->x);
    scn->y1_thresh = scn->y1_min_thresh;
    if(scn->decoder)
        zebra_decoder_reset(scn->decoder);
    return(ZEBRA_NONE);
}