48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Reflection.Metadata;
|
|
using ln.collections;
|
|
|
|
namespace ln.ethercat
|
|
{
|
|
// public class SDOCache
|
|
// {
|
|
// ECMaster ECMaster { get; }
|
|
|
|
// Dictionary<int, BTree<long,SDO>> slaveCaches = new Dictionary<int, BTree<long, SDO>>();
|
|
|
|
// public SDOCache(ECMaster ecMaster)
|
|
// {
|
|
// ECMaster = ecMaster;
|
|
// }
|
|
|
|
// public BTree<long,SDO> GetSlaveCache(int slave)
|
|
// {
|
|
// if (!slaveCaches.TryGetValue(slave, out BTree<long,SDO> slaveCache))
|
|
// {
|
|
// slaveCache = new BTree<long, SDO>();
|
|
// slaveCaches.Add(slave, slaveCache);
|
|
// }
|
|
// return slaveCache;
|
|
// }
|
|
|
|
|
|
// public SDO GetOrCreateDescriptor(SDOAddr address)
|
|
// {
|
|
// BTree<long,SDO> slaveCache = GetSlaveCache(address.Slave);
|
|
|
|
// if (!slaveCache.TryGet(address.Linear, out SDO sdo))
|
|
// {
|
|
// sdo = SDO.Create(ECMaster, address);
|
|
// slaveCache.Add(sdo.Address.Linear, sdo);
|
|
// }
|
|
// return sdo;
|
|
// }
|
|
|
|
// public void Clear() => slaveCaches.Clear();
|
|
// public bool Contains(SDOAddr addr) => GetSlaveCache(addr.Slave).ContainsKey(addr);
|
|
// public SDO this[SDOAddr address] => GetSlaveCache(address.Slave)[address.Linear];
|
|
|
|
// }
|
|
} |