O que é o contêiner de capacidade de uma tag?
O contêiner de capacidade é uma pequena área da tag que descreve a própria tag: qual versão do formato ela segue, quanta memória está disponível para conteúdo, e se esse conteúdo pode ser regravado. Formatar uma tag virgem é em grande parte o ato de gravá-lo.
O que ele guarda
Quatro tipos de informação, num espaço muito pequeno: qual versão da especificação do tipo de tag se aplica, quanta memória está disponível para conteúdo NDEF, se esse conteúdo é legível, e se ele ainda é gravável.
Um leitor o consulta antes de fazer qualquer outra coisa. É assim que um celular sabe, em poucos bytes, como interpretar tudo o que vem depois.
O que a formatação realmente faz
Formatar soa como apagar. Está mais perto de rotular.
Numa tag virgem, a formatação grava o contêiner de capacidade para que leitores genéricos consigam dar sentido à memória, e em geral grava também uma mensagem NDEF vazia, para que a tag seja válida e não apenas descrita. Numa tag que já carrega conteúdo, a formatação sobrescreve esse conteúdo e reinicia a descrição.
As tags são frequentemente vendidas pré-formatadas, e é por isso que gravar uma URL numa tag nova em geral funciona sem nenhum passo preliminar. Quando não funciona, formatar primeiro é a ação que falta.
Para onde foram os bytes que faltam
Uma tag vendida com uma capacidade declarada não oferece tudo isso ao seu conteúdo. Parte da memória guarda o identificador único e os dados do fabricante, parte guarda o contêiner de capacidade, parte guarda os bits de bloqueio, e o contêiner NDEF acrescenta mais um cabeçalho.
A diferença entre o número da embalagem e o número que um aplicativo informa como livre não é um defeito nem uma mentira. É a soma de tudo o que a tag precisa para se descrever.
A consequência prática é deixar margem. Especificar uma tag com memória anunciada mal suficiente para o seu conteúdo é como uma tiragem de produção falha depois de impressa.
Quando ele dá errado
Um contêiner de capacidade danificado é uma das poucas falhas que fazem uma tag fisicamente sadia parecer completamente morta.
O chip liga, responde no nível da tecnologia e informa o identificador dele. Mas nenhum leitor consegue localizar conteúdo, porque o mapa que leva a esse conteúdo está ilegível. Os aplicativos em geral informam a tag como detectada e não formatada, ou desconhecida, o que é confuso precisamente porque todo o resto funciona.
A causa de sempre é uma gravação interrompida no momento errado, o que é um bom argumento para verificar gravações em vez de presumi-las. Reformatar recupera a tag quando a memória em si está intacta e o contêiner apenas ficou inconsistente, e não faz nada quando os bits de bloqueio já a congelaram.
Perguntas frequentes
Uma tag nova precisa ser formatada antes de eu poder usá-la?
Em geral não, porque a maioria das tags é enviada pré-formatada. Se uma gravação falhar numa tag realmente virgem com um erro sobre o formato, formatar primeiro é a resposta.
Eu consigo recuperar uma tag com o contêiner de capacidade danificado?
Muitas vezes sim, reformatando, desde que a tag nunca tenha sido bloqueada. Se os bits de bloqueio já tornaram a memória somente leitura, o contêiner não pode ser regravado e a tag está acabada.
A formatação apaga o identificador único?
Não. O identificador vive numa área programada na fábrica que a formatação não toca. Numa tag comum ele não pode ser mudado por meio nenhum.
Por que duas tags com a mesma memória anunciada informam espaços livres diferentes?
Porque os descontos diferem. Famílias de chip reservam quantidades diferentes para configuração e bits de bloqueio, e o tipo de tag muda o custo fixo do contêiner. Compare o espaço livre em vez da capacidade anunciada quando isso importa.