#!/usr/bin/env python3

import paho.mqtt.publish as publish
from numpy import genfromtxt
import itertools


################ SETUP ################

listOfSignals = [["Voltage", "Voltage.csv"],
				["Temp1", "Temp1.csv"], 
				["Temp2", "Temp2.csv"],
				["SharkyS", "SharkyS.csv"],
				["SharkyB", "SharkyB.csv"],
				["Dyna", "Dyna.csv"],
				["Riels", "Riels.csv"]]


################# RUN #################

lengthOfLongestSignal = 0
signalsAreOfDiffLength = False
allSignalData = []
msgs = []

for signal in listOfSignals:
	data_np = genfromtxt(signal[1], delimiter=',')
	data = data_np.tolist()
	if len(data) > lengthOfLongestSignal:
		if lengthOfLongestSignal > 0:
			signalsAreOfDiffLength = True
		lengthOfLongestSignal = len(data)
	allSignalData.append([signal[0],data])

if signalsAreOfDiffLength:
	print(">>> WARNING >>> Signal files are of different length")

for i in range(lengthOfLongestSignal):
	for signal in allSignalData:
		if i < len(signal[1]):
			msg = (signal[0], signal[1][i])
			msgs.append(msg)

publish.multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60,
    will=None, auth=None, tls=None, transport="tcp")
	
print("Finished sending data")
