from cpsw_api_py import *
import sys

d = IDev.getRootDev()

memdev = IMemDev.create("memdev", 2048)
nossi = INoSsiDev.create("nossi", "10.0.1.105")

mmio = IMMIODev.create("mmio", 2048)
test = IIntField.create("test")
test.setDescription("Test field")

mmio.addAtAddress( test, 0, 16 )

nossi.addAtAddress( mmio )
memdev.addAtAddress( mmio, 1 )

d.addAtAddress( nossi, 1 )
d.addAtAddress( memdev, 1 )
p = IPath.create( )

p2 = p.findByName("nossi/mmio/test[0]")
#p2 = p.findByName("memdev/mmio/test")

sval = IScalVal.create( p2 )
print sval.getName()
print sval.getDescription()
print sval.get_value_as_uint32(1)

p2 = p.findByName("nossi/mmio/test[1-2]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(2)
p2 = p.findByName("nossi/mmio/test[2]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(1)
p2 = p.findByName("nossi/mmio/test[3]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(1)
p2 = p.findByName("nossi/mmio/test[4]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(1)
p2 = p.findByName("nossi/mmio/test[5]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(1)
p2 = p.findByName("nossi/mmio/test[5-6]")
sval = IScalVal.create( p2 )
print sval.get_value_as_uint32(2)
