#!/bin/sh
# generate scpi-raw mdns/vx11 service
if [ -f "/anapico/dev/conf/eth0_other_conf" ]
then
	PORT=$(cat /anapico/dev/conf/eth0_other_conf | awk 'NR==1 {print $2}' )
else
	PORT=18
fi

IPADDR=$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)
MACADDRESS=$(cat /sys/class/net/eth0/address)
SUBNETMASK=$(ifconfig eth0 | awk -F: '/Mask:/{ print $4;} ')


if [ -f "/anapico/dev/sn" ]
then
	SERNR=$(cat /anapico/dev/sn)
else
	SERNR=000-000000000-0000
fi

if [ -f "/anapico/dev/fw_info" ]
then
	. /anapico/dev/fw_info
else
	MANUFACTURER=Anapico
	URL="http://www.anapico.com"
	LOGO="logoAP.png"
	STYLE="styleAP.css"
	FWVERSION="1.0.0"
	MODEL="T&M"
fi


#mkdir /anapico/temp/www
#chmod 744 /anapico/temp/www
#mkdir /anapico/dev/www/lxi
#chmod 744 /anapico/dev/www/lxi

#cp /anapico/dev/www/index.html /anapico/dev/www/index.html

	echo "<?xml version=\"1.0\" standalone='no'?><!--*-nxml-*-->" > /etc/avahi/services/scpi-raw.service
	echo "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">" >> /etc/avahi/services/scpi-raw.service
	echo "<service-group>" >> /etc/avahi/services/scpi-raw.service
	echo "	<name replace-wildcards=\"yes\">%h</name>" >> /etc/avahi/services/scpi-raw.service
	echo "	<service>" >> /etc/avahi/services/scpi-raw.service
	echo "		<type>_scpi-raw._tcp</type>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>txtver=1</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>Address=TCPIP::$IPADDR::$PORT::SOCKET</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>SerialNumber=$SERNR</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>Model=$MODEL</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>Manufacturer=$MANUFACTURER</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "		<txt-record>FirmwareVersion=$FWVERSION</txt-record>" >> /etc/avahi/services/scpi-raw.service
	echo "	</service>" >> /etc/avahi/services/scpi-raw.service
	echo "</service-group>" >> /etc/avahi/services/scpi-raw.service
	


	echo "<?xml version=\"1.0\" standalone='no'?><!--*-nxml-*-->" > /etc/avahi/services/vxi-11.service
	echo "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">" >> /etc/avahi/services/vxi-11.service
	echo "<service-group>" >> /etc/avahi/services/vxi-11.service
	echo "	<name replace-wildcards=\"yes\">%h</name>" >> /etc/avahi/services/vxi-11.service
	echo "	<service>" >> /etc/avahi/services/vxi-11.service
	echo "		<type>_vxi-11._tcp</type>" >> /etc/avahi/services/vxi-11.service
	echo "		<txt-record>txtver=1</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo "		<txt-record>Address=TCPIP::$IPADDR::instr0::INST</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo "		<txt-record>SerialNumber=$SERNR</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo "		<txt-record>Model=$MODEL</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo "		<txt-record>Manufacturer=$MANUFACTURER</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo " 		<txt-record>FirmwareVersion=$FWVERSION</txt-record>" >> /etc/avahi/services/vxi-11.service
	echo "	</service>" >> /etc/avahi/services/vxi-11.service
	echo "</service-group>" >> /etc/avahi/services/vxi-11.service

	echo "<?xml version=\"1.0\" standalone='no'?><!--*-nxml-*-->" > /etc/avahi/services/lxi.service
	echo "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">" >> /etc/avahi/services/lxi.service
	echo "<service-group>" >> /etc/avahi/services/lxi.service
	echo "	<name replace-wildcards=\"yes\">%h</name>" >> /etc/avahi/services/lxi.service
	echo "	<service>" >> /etc/avahi/services/lxi.service
	echo "		<type>_lxi._tcp</type>" >> /etc/avahi/services/lxi.service
	echo "		<txt-record>txtver=1</txt-record>" >> /etc/avahi/services/lxi.service
	echo "		<txt-record>Manufacturer=$MANUFACTURER</txt-record>" >> /etc/avahi/services/lxi.service
	echo "		<txt-record>SerialNumber=$SERNR</txt-record>" >> /etc/avahi/services/lxi.service
	echo "		<txt-record>Model=$MODEL</txt-record>" >> /etc/avahi/services/lxi.service
	echo "		<txt-record>FirmwareVersion=$FWVERSION</txt-record>" >> /etc/avahi/services/lxi.service
	echo "	</service>" >> /etc/avahi/services/lxi.service
	echo "</service-group>" >> /etc/avahi/services/lxi.service

if [ $MANUFACTURER = "NSI-MI" ]
then
	echo "<?xml version=\"1.0\" standalone='no'?><!--*-nxml-*-->" > /etc/avahi/services/nsi_src.service
	echo "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">" >> /etc/avahi/services/nsi_src.service
	echo "<service-group>" >> /etc/avahi/services/nsi_src.service
	echo "	<name replace-wildcards=\"yes\">%h</name>" >> /etc/avahi/services/nsi_src.service
	echo "	<service>" >> /etc/avahi/services/nsi_src.service
	echo "		<type>_src-scpi._tcp</type>" >> /etc/avahi/services/nsi_src.service
	echo "		<port>$PORT</port>" >> /etc/avahi/services/nsi_src.service
	echo "	</service>" >> /etc/avahi/services/nsi_src.service
	echo "</service-group>" >> /etc/avahi/services/nsi_src.service
fi

write_ap

	echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" > /anapico/dev/www/lxi/identification
	echo "<LXIDevice xmlns=\"http://www.lxistandard.org/InstrumentIdentification/1.0\"">> /anapico/dev/www/lxi/identification
	echo "    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " 	>> /anapico/dev/www/lxi/identification
	echo "    xsi:schemaLocation=\"http://www.lxistandard.org/InstrumentIdentification/1.0 LXIIdentification.xsd\">" >> /anapico/dev/www/lxi/identification
	echo "<Manufacturer>$MANUFACTURER</Manufacturer>" 					>> /anapico/dev/www/lxi/identification
	echo "<Model>$MODEL</Model>" 										>> /anapico/dev/www/lxi/identification
	echo "<SerialNumber>$SERNR</SerialNumber>" 							>> /anapico/dev/www/lxi/identification
	echo "<FirmwareRevision>$FWVERSION</FirmwareRevision>" 				>> /anapico/dev/www/lxi/identification
	echo "<ManufacturerDescription>Test and Measurement Device</ManufacturerDescription>" >> /anapico/dev/www/lxi/identification
	echo "<HomepageURL>$URL</HomepageURL>" 			>> /anapico/dev/www/lxi/identification
	echo "<DriverURL>$URL/downloads</DriverURL>" 		>> /anapico/dev/www/lxi/identification
	echo "<ConnectedDevices>" 											>> /anapico/dev/www/lxi/identification
	echo "    <DeviceURI>http://$IPADDR/devices/device0/</DeviceURI>" 	>> /anapico/dev/www/lxi/identification
	echo "</ConnectedDevices>"											>> /anapico/dev/www/lxi/identification
	echo "<UserDescription>Test and Measurement Device</UserDescription>" >> /anapico/dev/www/lxi/identification
	echo "<IdentificationURL>http://$IPADDR/lxi/identification</IdentificationURL>	" >> /anapico/dev/www/lxi/identification
	echo "<Interface xsi:type=\"NetworkInformation\" InterfaceType=\"LXI\" IPType=\"IPv4\" InterfaceName=\"eth0\">" >> /anapico/dev/www/lxi/identification
	echo "    <InstrumentAddressString>TCPIP::$IPADDR::INSTR</InstrumentAddressString>" >> /anapico/dev/www/lxi/identification
	echo "    <InstrumentAddressString>TCPIP::$IPADDR::$PORT::SOCKET</InstrumentAddressString>" >> /anapico/dev/www/lxi/identification
	echo "    <Hostname>$HOSTNAME</Hostname>							" >> /anapico/dev/www/lxi/identification
	echo "    <IPAddress>$IPADDR</IPAddress>" >> /anapico/dev/www/lxi/identification
	echo "    <SubnetMask>$SUBNETMASK</SubnetMask>" >> /anapico/dev/www/lxi/identification
	echo "    <MACAddress>$MACADDRESS</MACAddress>" >> /anapico/dev/www/lxi/identification
	echo "    <Gateway>$GATEWAY</Gateway>" >> /anapico/dev/www/lxi/identification
	echo "    <DHCPEnabled>true</DHCPEnabled>" >> /anapico/dev/www/lxi/identification
	echo "    <AutoIPEnabled>true</AutoIPEnabled>" >> /anapico/dev/www/lxi/identification
	echo "</Interface>" >> /anapico/dev/www/lxi/identification
	echo "<IVISoftwareModuleName>Thingamajig</IVISoftwareModuleName>" >> /anapico/dev/www/lxi/identification
	echo "<Extension>" >> /anapico/dev/www/lxi/identification
	echo "</Extension>" >> /anapico/dev/www/lxi/identification
	echo "<Domain>1</Domain>" >> /anapico/dev/www/lxi/identification
	echo "<LXIVersion>1.5</LXIVersion>" >> /anapico/dev/www/lxi/identification
	echo "    <LXIExtendedFunctions>" >> /anapico/dev/www/lxi/identification
	echo "	<Function FunctionName=\"LXI VXI-11\" Version=\"1.0\" />" >> /anapico/dev/www/lxi/identification
	echo "    </LXIExtendedFunctions>" >> /anapico/dev/www/lxi/identification
	echo "</LXIDevice>" >> /anapico/dev/www/lxi/identification

chmod 777 /anapico/dev/www/lxi/identification


protect_ap

# reload service file
avahi-daemon -r


