API_SequentMicrosystems-RPI/Controllers/RTDDataAcquisitionControlle...

122 lines
3.5 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 cards
/// </summary>
/// <returns></returns>
[HttpGet]
public SortedList<byte, float[]> Get()
{
return _RTDDAservice.ReadAllConfiguredCard();
}
// GET api/<RTDDataAcquisitionController>/All
/// <summary>
/// Read data from All RTD cards
/// </summary>
/// <returns></returns>
[HttpGet("All")]
public SortedList<byte, float[]> GetAll()
{
return _RTDDAservice.ReadAllCard();
}
// GET api/<RTDDataAcquisitionController>/5
/// <summary>
/// Read data from specified card from stack
/// </summary>
/// <param name="stack"></param>
/// <returns>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></returns>
[HttpGet("Names")]
public SortedList<byte, string[]> GetNames()
{
return _RTDDAservice.GetChanelsNames();
}
// POST api/<RTDDataAcquisitionController>
/// <summary>
/// Post configured names of chanels
/// </summary>
/// <param name="data"></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></returns>
[HttpGet("Names/Preconfigured")]
public List<string> GetNamesPreconfigured()
{
return _RTDDAservice.GetPreconfiguratedChanelsNames();
}
//POST api/RTDDA/Names/Preconfigured
/// <summary>
/// Post preconfigured names
/// </summary>
/// <param name="data"></param>
[HttpPost("Names/Preconfigured")]
public void PostNamesPreconfigured([FromBody] List<string> data)
{
_RTDDAservice.SetPreconfiguratedChanelsNames(data);
}
//GET api/RTDDA/Calibration
/// <summary>
/// Get Calibration data
/// </summary>
/// <returns></returns>
[HttpGet("Calibration")]
public SortedList<byte, float[]> GetCalibration()
{
return _RTDDAservice.GetCalibrationData();
}
//POST api/RTDDA/Calibration
/// <summary>
/// Post Calibration data
/// </summary>
/// <param name="data"></param>
[HttpPost("Calibration")]
public void PostCalibration([FromBody] SortedList<byte, float[]> data)
{
_RTDDAservice.SetCalibrationData(data);
}
}
}