Compartilhar via


Manuseio da sequência CX NFC

A maioria dos recursos e extensões de NCI não padrão implementados pelo firmware NFCC de diferentes fornecedores está relacionada à configuração do chipset, ao download de firmware e ao ajuste de hardware. Essas extensões não padrão podem ser suportadas pelo driver cliente NFC realizando um registro para sequências de driver específicas expostas pelo NFC CX. O driver cliente registra manipuladores de sequência específicos por meio da função NfcCxRegisterSequenceHandler . Normalmente, ele é feito durante a inicialização e deve ser invocado após NfcCxDeviceInitialize. Esses tratadores são desregistrados chamando NfcCxUnRegisterSequenceHandler durante o desligamento do dispositivo. Depois que o callback do manipulador de sequência do driver cliente for invocado, o driver NFC CX não emitirá comandos NCI até que o driver cliente NFC conclua seu processamento. Esses retornos de chamada do manipulador de sequência são projetados para serem assíncronos, permitindo que o cliente emita qualquer número de solicitações de E/S para o controlador antes de notificar o NFC CX de sua conclusão. O NFC CX utiliza um mecanismo de "watchdog timer" para determinar estados suspensos. Se o temporizador do watchdog expirar antes da conclusão do manipulador de sequência pelo cliente, uma checagem de erro é acionada e o processo de host UMDF é encerrado pelo framework UMDF.

A seguir estão os requisitos para o driver cliente NFC na implementação de qualquer lógica adicional como parte do manipulador de sequência:

  • Todos os comandos NCI enviados pelo cliente NFC ao manipular essas sequências devem garantir que a integridade do estado atual, conforme especificado pelo NFC CX, não seja violada. Portanto, o cliente NFC deve cuidar desse requisito para garantir o funcionamento adequado do dispositivo NFC. Por exemplo, ao lidar com a sequência de inicialização completa, o driver cliente não deve emitir NCI CORE_RESET_CMD para redefinir o chipset.
  • O driver cliente NFC precisa garantir que as respostas de NCI e as notificações geradas pelos comandos NCI enviados ao controlador não sejam enviadas para a função NfcCxNciReadNotification do NFC CX. Isso é necessário porque, caso contrário, o computador de estado NCI CX NFC sairia da sincronização com os comandos que troca com o NFCC.