#############################################################################
# Copyright (c) 2002-2021 MBARI
# Monterey Bay Aquarium Research Institute, all rights reserved.
#############################################################################
import numpy
import time

import supervisor.Logger
logger, _ = supervisor.Logger.configure_logger(name='backseat', log_to_file=False)

from LCM.Publisher import LcmPublisher


test_file = "./test/data/test.log"


def current_milli_time():
    return int(round(time.time() * 1000))


def read_file(filename=test_file):
    with open(filename, 'r') as f:
        data = f.readlines()
    return data


# lcm msg data stubs
vals = [[1, 2], [numpy.float32(1.1), numpy.float32(2.2)], [1.1, 2.2], ['foo', 'bar'],
        numpy.array([[0.1, 0.2], [0.3, 0.4]], dtype=numpy.float32)]
names = ['int', 'float', 'double', 'str', 'nd']


def gen_dummy_msg():
    pub = LcmPublisher(None)

    pub.msg.seqNo = 0
    for i in range(len(vals)):
        pub.add_variable(name=names[i], val=vals[i], unit='n/a')
    pub.add_variable(name='byte', val=b'foo', unit='byte')
    pub.add_variable(name='bool', val=True, unit='bool')
    pub.add_variable(name='str_', val='foo', unit='string')
    pub.timestamp()
    return pub.msg
