Пошаговая инструкция по использованию

Внимание

Этот раздел сейчас дорабатывается, приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в службу поддержки Tibbo.

  1. Убедитесь, что в проекте есть библиотека SOCK.
  2. Добавьте в проект файлы pppoe.tbs и pppoe.tbh (они лежат в current_library_set\pppoe\trunk).
  3. Добавьте #define PPPOE_DEBUG_PRINT 1 в раздел определений файла global.tbh вашего проекта. Так вы будете «видеть, что происходит». Не забудьте убрать эту строку позже, когда убедитесь, что библиотека работает как надо.
  4. Добавьте include "pppoe\trunk\pppoe.tbh" в раздел подключений файла global.tbh.
  5. Добавьте pppoe_proc_timer() в код обработчика события on_sys_timer() (см. «Дополнительные соображения» ниже).
  6. Добавьте pppoe_proc_data() в код обработчика события on_sock_data_arrival().
  7. Создайте пустые тела функций обратного вызова (скорее всего, в device.tbs): callback_pppoe_ok(), callback_pppoe_failure(), callback_pppoe_pre_buffrq(). Подсказка: скопируйте объявления из pppoe.tbh или из нашего примера кода.
  8. Вызовите pppoe_start() откуда-нибудь. Самое очевидное решение - вызвать её из обработчика события on_sys_init(). Передайте правильные логин и пароль ADSL (совет: храните их с помощью библиотеки STG). Учтите, что pppoe_start() может завершиться ошибкой, поэтому разумно проверять возвращаемый код состояния.
  9. Напишите осмысленный код для callback_pppoe_ok(). Когда эта процедура вызвана, интерфейс PPPoE работает.

Всё перечисленное показано в примере кода.

Дополнительные соображения

Библиотека PPPOE рассчитывает, что pppoe_proc_timer() вызывается с интервалом 0.5 с. Это значение по умолчанию, его можно изменить через свойство sys.onsystimerperiod. Если проекту нужно, чтобы событие on_sys_timer() происходило с другой частотой, убедитесь, что pppoe_proc_timer() по-прежнему вызывается 2 раза в секунду. Например, если on_sys_timer() срабатывает 4 раза в секунду, добавьте код-«делитель», который вызывает pppoe_proc_timer() только при каждом втором вызове on_sys_timer().

Исходный материал Tibbo обновлён 7 августа 2025Оригинал на docs.tibbo.com · Сообщить об ошибке