Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Negative timestamps occur by using a Notifier to record CAN messages from multiple channels

Aberta
#1,944 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Comece pelos pontos de entrada Logger.on_message_received e Notifier mostrados na reprodução e, em seguida, reproduza a gravação de mensagens dos dois barramentos abertos com python-can 4.2.0 no Windows. Está concluído quando os timestamps no log CAN gravado não se tornam negativos e permanecem consistentes quando as mensagens chegam por vários canais.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug
Describe the bug

Negative time occurs when recording many channles CAN messages and channel changes

To Reproduce

创建自定义日志记录器

log_writer = can.Logger('test.asc')

def handle_message(msg):
print(msg)
log_writer.on_message_received(msg)

_can = Can_interface(driver_list=['kvaser', 'vector'])
buses = {
'1': _can.open_driver(3),
'2': _can.open_driver(4),
}
notifiers = list()
for channel, bus in buses.items():
# 注意:先添加过滤器,再添加处理函数
notifier = Notifier(bus, [])
notifier.add_listener(handle_message)
notifiers.append(notifier)

Expected behavior

I hope to record the CAN messages of different channels in a way that is consistent with the actual received message, and can be kept consistent with 'canoe'

Additional context

OS and version:win10
Python version:python 3.9.13
python-can version:4.2.0
python-can interface/s (if applicable): vector

Traceback and logs
def func():
    return "hello, world!"
Linguagem predominante
Python
Estrelas
1.6k
Forks
697
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de hardbyte/python-can

Todas as issues de hardbyte/python-can

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.