API_SequentMicrosystems-RPI/Controllers/RTDDataAcquisitionControlle...

143 lines
4.8 KiB
C#

using API_SequentMicrosystems.Services;
using Microsoft.AspNetCore.Mvc;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace API_SequentMicrosystems.Controllers
{
[Tags("RTD-8 Temperature Module")]
[Route("api/RTDDA")]
[ApiController]
public class RTDDataAcquisitionController : ControllerBase
{
private RTDDAService _RTDDAservice;
public RTDDataAcquisitionController(RTDDAService serv)
{
_RTDDAservice = serv;
}
// GET: api/<RTDDataAcquisitionController>
/// <summary>
/// Read data from all configured RTD cards
/// </summary>
/// <returns>SortedList with data from configured RTD-8 Cards</returns>
[HttpGet]
public SortedList<byte, float[]> Get()
{
return _RTDDAservice.ReadAllConfiguredCard();
}
// GET api/<RTDDataAcquisitionController>/All
/// <summary>
/// Read data from All RTD cards
/// </summary>
/// <returns>SortedList with data from all conected RTD-8 cards</returns>
[HttpGet("All")]
public SortedList<byte, float[]> GetAll()
{
return _RTDDAservice.ReadAllCard();
}
// GET api/<RTDDataAcquisitionController>/5
/// <summary>
/// Read data from specified by card id
/// </summary>
/// <param name="stack">0-7</param>
/// <returns>Array with data from specified card</returns>
[HttpGet("{stack}")]
public float[] GetAll(byte stack)
{
return _RTDDAservice.ReadCard(stack);
}
//GET api/RTDDA/Names
/// <summary>
/// Get Configured Names of Chanels
/// </summary>
/// <returns>Sorted List of configured Names responded with data by Ids of SortedList and array</returns>
[HttpGet("Names")]
public SortedList<byte, string[]> GetNames()
{
return _RTDDAservice.GetChanelsNames();
}
// POST api/<RTDDataAcquisitionController>
/// <summary>
/// Post configured names of chanels
/// </summary>
/// <param name="data">Sorted List of configured Names responded with data by Ids of SortedList and array</param>
[HttpPost("Names")]
public void PostNames([FromBody] SortedList<byte, string[]> data)
{
_RTDDAservice.SetChanelsNames(data);
}
//GET api/RTDDA/Names/Preconfigured
/// <summary>
/// Get preconfigured Names
/// </summary>
/// <returns>List of preconfigured names</returns>
[HttpGet("Names/Preconfigured")]
public List<string> GetNamesPreconfigured()
{
return _RTDDAservice.GetPreconfiguratedChanelsNames();
}
//POST api/RTDDA/Names/Preconfigured
/// <summary>
/// Post preconfigured names
/// </summary>
/// <param name="data">List of preconfigured names</param>
[HttpPost("Names/Preconfigured")]
public void PostNamesPreconfigured([FromBody] List<string> data)
{
_RTDDAservice.SetPreconfiguratedChanelsNames(data);
}
//GET api/RTDDA/Calibration
/// <summary>
/// Get Calibration data
/// </summary>
/// <returns>Sorted List of calibration data responded with data by Ids of SortedList and array</returns>
[HttpGet("Calibration")]
public SortedList<byte, float[]> GetCalibration()
{
return _RTDDAservice.GetCalibrationData();
}
//POST api/RTDDA/Calibration
/// <summary>
/// Post Calibration data
/// </summary>
/// <param name="data">Sorted List of calibration data responded with data by Ids of SortedList and array</param>
[HttpPost("Calibration")]
public void PostCalibration([FromBody] SortedList<byte, float[]> data)
{
_RTDDAservice.SetCalibrationData(data);
}
//GET api/RTDDA/ValueTypes
/// <summary>
/// Get ValueTypes data
/// </summary>
/// <returns>Sorted List of ValueTypes data responded with data by Ids of SortedList and array</returns>
[HttpGet("ValueTypes")]
public SortedList<byte, byte[]> GetValueTypes()
{
return _RTDDAservice.LoadValueTypes();
}
//POST api/RTDDA/ValueTypes
/// <summary>
/// Post ValueTypes data
/// </summary>
/// <param name="data">Sorted List of Value types data responded with data by Ids of SortedList and array</param>
[HttpPost("ValueTypes")]
public void PostValueTypes([FromBody] SortedList<byte, byte[]> data)
{
_RTDDAservice.SaveValueTypes(data);
}
}
}