#!/usr/bin/env python

import os
import sys
import pcaspy
from pprint import pprint

prefix = sys.argv[1]
pvdb = {
    'ALARM': {
        'prec': 0
    },
    'A': {
        'prec': 0
    },
    'B': {
        'prec': 0
    },
    'C': {
        'prec': 0
    },
    'D': {
        'prec': 0
    },
    'J': {
        'prec': 0
    },
}

class DummyDriver(pcaspy.Driver):
    def read(self, channel):
        value = self.getParam(channel)
        print('%s == %s' % (channel, value))
        return value

    def write(self, channel, value):
        print('%s => %s' % (channel, value))
        self.setParam(channel, value)
        return True

if __name__ == '__main__':
    server = pcaspy.SimpleServer()

    print('prefix: ' + prefix)
    print('db: ')
    pprint(pvdb)

    server.createPV(prefix, pvdb)
    driver = DummyDriver()
    while True:
        server.process(1)
