Barcode Scanner

Barcode Scanner USB

Создаем свой блок. Вопросы, помощь знатоков.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#1

Сообщение Naum » 29.05.2019{, 11:06}

нужна помощь засунуть код в пользовательский блок
на выходе должна быть строка считаная баркодом и импульс обновления коротковременая идиница
код который посылает на сом работает
библиотека: https://github.com/felis/USB_Host_Shield_2.0
USB_Host_Shield_2.0-master
Железа : USB Host Shield 2.0 for Arduino

пример
https://github.com/felis/USB_Host_Shield_2.0/issues/323

Код: Выделить всё

#include <usbhid.h>
#include <usbhub.h>
#include <hiduniversal.h>
#include <hidboot.h>
#include <SPI.h>

class MyParser : public HIDReportParser {
  public:
    MyParser();
    void Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
  protected:
    uint8_t KeyToAscii(bool upper, uint8_t mod, uint8_t key);
    virtual void OnKeyScanned(bool upper, uint8_t mod, uint8_t key);
    virtual void OnScanFinished();
};

MyParser::MyParser() {}

void MyParser::Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) {
  // If error or empty, return
  if (buf[2] == 1 || buf[2] == 0) return;

  for (uint8_t i = 7; i >= 2; i--) {
    // If empty, skip
    if (buf[i] == 0) continue;

    // If enter signal emitted, scan finished
    if (buf[i] == UHS_HID_BOOT_KEY_ENTER) {
      OnScanFinished();
    }

    // If not, continue normally
    else {
      // If bit position not in 2, it's uppercase words
      OnKeyScanned(i > 2, buf, buf[i]);
    }

    return;
  }
}

uint8_t MyParser::KeyToAscii(bool upper, uint8_t mod, uint8_t key) {
  // Letters
  if (VALUE_WITHIN(key, 0x04, 0x1d)) {
    if (upper) return (key - 4 + 'A');
    else return (key - 4 + 'a');
  }

  // Numbers
  else if (VALUE_WITHIN(key, 0x1e, 0x27)) {
    return ((key == UHS_HID_BOOT_KEY_ZERO) ? '0' : key - 0x1e + '1');
  }

  return 0;
}

void MyParser::OnKeyScanned(bool upper, uint8_t mod, uint8_t key) {
  uint8_t ascii = KeyToAscii(upper, mod, key);
  Serial.print((char)ascii);
}

void MyParser::OnScanFinished() {
  Serial.println(" - Finished");
}

USB          Usb;
USBHub       Hub(&Usb);
HIDUniversal Hid(&Usb);
MyParser     Parser;

void setup() {
  Serial.begin( 115200 );
  Serial.println("Start");

  if (Usb.Init() == -1) {
    Serial.println("OSC did not start.");
  }

  delay( 200 );

  Hid.SetReportParser(0, &Parser);
}

void loop() {
  Usb.Task();
}
Вложения
2.JPG
1.JPG

noahi77
Рядовой
Сообщения: 11
Зарегистрирован: 12.09.2016{, 11:53}
Репутация: 0
Откуда: Москва

Barcode Scanner

#2

Сообщение noahi77 » 06.06.2019{, 09:12}

Здравствуйте.
Тоже очень интересует данная тема. И её реализация. Не плохо было бы разобраться с ней.
Был бы благодарен за любую информацию по бар коду. Спасибо.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Barcode Scanner

#3

Сообщение pan » 06.06.2019{, 12:41}

проверь
Вложения
Barcode_(CODE).ubi
(21.04 КБ) 85 скачиваний

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#4

Сообщение Naum » 06.06.2019{, 14:46}

спасибо большое за помощь.
При компиляции ругается на библиотеку.
Вложения
3.bmp
3.bmp (899.49 КБ) 1163 просмотра

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Barcode Scanner

#5

Сообщение pan » 06.06.2019{, 16:15}

Naum, :smile390: Сколько по граблям ходить будем?
в настройках какая IDE ? внешняя? тогда запускайте флпрог от имени администратора.
либо переключите на на ту, что в комплекте.

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#6

Сообщение Naum » 10.06.2019{, 08:33}

очень извиняюсь не получается.
Требует библиотеку. может действительно что то с настройками. есле можно послать библеотеку бкду очень блоодарен. за ранее спасибо.

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

Barcode Scanner

#7

Сообщение EgorKa » 10.06.2019{, 17:04}

pan, блок не компилируется
d:\FLProg_5-2_Portable_Win64\ideV2\libraries\barcode/barcode.h:4:20: fatal error: usbhid.h: No such file or directory

compilation terminated.

Библиотека присутствует в Вашем блоке?

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

#8

Сообщение Ivan_Kornege » 11.06.2019{, 06:10}

Не компилируется потому што тут от нищеты нашей решили не запихивать библы в блоки.
Места на дисках мало, с библой весят много.
некоторые вон вообще ХР до сих пор юзают.
Даже сюда не заливается болше 3 мегов весит.
Вот приклячил в блок библу USB_Host_Shield_2.0-master у меня скомпилировался код.
Блок флпрог 5 версия
Barcode_1_(CODE).rar
(253.6 КБ) 78 скачиваний

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Barcode Scanner

#9

Сообщение pan » 11.06.2019{, 08:36}

EgorKa, первый пост читали? трудно отдельно библиотеку скачать? конечно НЕ присутствует, и об этом прямо в ошибке компиляции написано.
Ivan_Kornege писал(а):
11.06.2019{, 06:10}
Не компилируется потому што тут от нищеты нашей решили не запихивать библы в блоки.
а на какой её туда пихать. потом удивляются почему флпрог тормозит..

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#10

Сообщение Naum » 11.06.2019{, 12:49}

перепробовал все что смог
WIN 7
WIN 10
разные версии программы
требует этот файл
"barcode.h"
если можно help (F1).

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

#11

Сообщение Ivan_Kornege » 11.06.2019{, 13:50}

pan писал(а):
11.06.2019{, 08:36}
а на какой её туда пихать. потом удивляются почему флпрог тормозит..
я и говорю от нищеты и тормозит. У кого процессор мощнй то нет проблем. Но таких здесь мало.
Naum писал(а):
11.06.2019{, 12:49}
перепробовал все что смог
WIN 7
WIN 10
разные версии программы
требует этот файл
"barcode.h"
если можно help (F1).
Видимо не все . Ищи где у тебя стоит флпрог. У меня библа лежит здесь D:\Program Files\FLProg_5-2-1_Win64\ideV3\libraries\USB_Host_Shield_2.0-master
если ты запускал блок в который я библу запихнул.

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#12

Сообщение Naum » 11.06.2019{, 15:14}

можешь мне пожалуйста скинуть только barcode.h
дальше я его сам запихну

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

#13

Сообщение Ivan_Kornege » 11.06.2019{, 15:20}

:shok: ты же сам ссылку давал ,качай по твоей ссылке библу
Naum писал(а):
29.05.2019{, 11:06}
библиотека: https://github.com/felis/USB_Host_Shield_2.0

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#14

Сообщение Naum » 11.06.2019{, 15:52}

я очень поверхностно знаю программирования (любитель)
попробую объяснить что у меня происходит:
основная библиотека лежит где ей и положено (.....\libraries\USB_Host_Shield_2.0-master)
в блоке пользователя есть ссылка н библиотеку котороя не прописана не где "barcode.h"
вот её мне и не хватает
Вложения
B1.JPG

User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12.06.2017{, 14:44}
Репутация: 103
Имя: Евгений

Barcode Scanner

#15

Сообщение User8 » 11.06.2019{, 16:03}

Naum, при компиляции флпрог ложит ее в папку с библиотеками arduino ide.

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#16

Сообщение Naum » 11.06.2019{, 16:43}

User8 писал(а):
11.06.2019{, 16:03}
при компиляции флпрог ложит ее в папку с библиотеками arduino ide.
я понимаю но у меня это не происходит видимо из за политики фирмы ( комп рабочий).
вот и нужны эти файлы (кроме библиотеки USB_Host_Shield_2.0-master) которых не хватает, чтобы переписть в ручьную.
думаю это должно быть два файла
barcode.h
barcode.cpp
но я точно не знаю это предположение так как ругается только на (barcode.h )

User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12.06.2017{, 14:44}
Репутация: 103
Имя: Евгений

Barcode Scanner

#17

Сообщение User8 » 11.06.2019{, 17:12}

Naum,
Вложения
barcode.zip
(1.1 КБ) 64 скачивания

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Barcode Scanner

#18

Сообщение pan » 11.06.2019{, 20:47}

Naum, чукча не читатель?
pan писал(а):
06.06.2019{, 16:15}
Naum, :smile390: Сколько по граблям ходить будем?
в настройках какая IDE ? внешняя? тогда запускайте флпрог от имени администратора.
либо переключите на на ту, что в комплекте.
Отправлено спустя 3 минуты 29 секунд:
Naum писал(а):
11.06.2019{, 15:52}
в блоке пользователя есть ссылка н библиотеку котороя не прописана не где "barcode.h"
вот её мне и не хватает
это не ссылка а сама библиотека.
Naum писал(а):
11.06.2019{, 15:14}
можешь мне пожалуйста скинуть только barcode.h
это я дописывал библиотеку что бы нормально впихнуть {невпихуемое} нормально весь код в блок. и вложил её туда же

Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14.09.2015{, 00:05}
Репутация: 0

Barcode Scanner

#19

Сообщение Naum » 12.06.2019{, 08:43}

большое спасибо всем, скопировал и вставил (barcode) все заработало.

теперь я понял что такое написать библиотеку под данный код и из каких файлов оно состоит.

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

Barcode Scanner

#20

Сообщение EgorKa » 13.06.2019{, 16:45}

pan писал(а):
11.06.2019{, 08:36}
EgorKa, первый пост читали? трудно отдельно библиотеку скачать? конечно НЕ присутствует, и об этом прямо в ошибке компиляции написано.
Ваш блок у меня не компилирется.
Компилирется от Ивана
Ivan_Kornege писал(а):
11.06.2019{, 06:10}
Вот приклячил в блок библу USB_Host_Shield_2.0-master у меня скомпилировался код.
Блок флпрог 5 версия

Barcode_1_(CODE).rar

Ответить

Вернуться в «Разработка пользовательских блоков»