Всем привет. Если кто-то хоть немного знаком с написанием программ для прошивки для этого bluetooth модуля, просьба помочь.
Я написал своб прошивку и последним моментом осталось прикрутить запрос пин-кода при коннекте к модулю.
Я изучил все примеры в папке с blueLab. Судя по описанию и коду, везде должен быть запрос пин-кода 1234. Но на деле соединение устанавливается без запроса. Я пытался изменить ключ PSKEY_FIXED_PIN, но эффекта это не дает.
В сети я нашел бинарник какой-то прошивки, которая работает как UART повторитель. Там пин-код есть (впрочем, как и в заводской прошивке). Но как это реализовано в коде, непонятно.

Я так понимаю, пин код должен запрашиваться тут (на примере spp_dev_b):

Код
    case CL_SM_PIN_CODE_IND:
        DEBUG(("CL_SM_PIN_CODE_IND\n"));
        sppDevHandlePinCodeRequest((CL_SM_PIN_CODE_IND_T *) message);
        break;


А непосредственно сам обработчик такой:
Код
void sppDevHandlePinCodeRequest(const CL_SM_PIN_CODE_IND_T* ind)
{
    uint8 pin[16];
    uint16 pin_length = 0;
    
    /* Do we have a fixed pin in PS, if not reject pairing (by setting the length to zero) */
    if ((pin_length = PsFullRetrieve(PSKEY_FIXED_PIN, pin, 16)) == 0 || pin_length > 16)
        pin_length = 0;
    
    ConnectionSmPinCodeResponse(&ind->bd_addr, pin_length, pin);
}


Но ничего не работет. Любопытно еще, что в коде проекта spp_dev_a код абсолютно аналогичный, но ведь роль у этого проекта иная- быть клиентом, который устанавливает подключение к spp_dev_b