Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed X_NUCLEO_PLC01A1
Diff: main.cpp
- Revision:
- 6:afd63b2b2d1a
- Parent:
- 5:321e4e37ba1c
--- a/main.cpp Wed Feb 24 10:54:02 2016 +0000
+++ b/main.cpp Thu Jul 13 16:44:30 2017 +0000
@@ -40,7 +40,7 @@
/* Includes ------------------------------------------------------------------*/
/* expansion board specific header files. */
-#include "x_nucleo_plc01a1_class.h"
+#include "XNucleoPLC01A1.h"
/* Definitions ---------------------------------------------------------------*/
@@ -52,12 +52,12 @@
/* Variables -----------------------------------------------------------------*/
/* Array for input data from Digital Input Termination Device */
-uint8_t inputArray[2] = {0x00, 0x00};
+uint8_t input_array[2] = {0x00, 0x00};
/* Array for output data to Solid State Relay */
-uint8_t outputArray[2] = {0x00, 0x00};
+uint8_t output_array[2] = {0x00, 0x00};
/* Number of channels in ON state */
-uint8_t Ch_On = 0x00;
+uint8_t ch_on = 0x00;
/* Functions -----------------------------------------------------------------*/
@@ -67,9 +67,9 @@
* @param None
* @retval None
*/
-void DigitalInputArrayHandler(X_NUCLEO_PLC01A1 &plc)
+void digital_input_array_handler(XNucleoPLC01A1 &plc)
{
- plc.plcInput().DigInpArray_GetInput(inputArray);
+ plc.plc_input().dig_inp_array_get_input(input_array);
}
/**
@@ -77,27 +77,27 @@
* @param None
* @retval None
*/
-void SsrelayHandler(X_NUCLEO_PLC01A1 &plc)
+void ssrelay_handler(XNucleoPLC01A1 &plc)
{
- /* Set outputArray as DigInpArray RxBuffer */
- outputArray[1] = plc.signalMirror(inputArray[1]);
+ /* Set output_array as DigInpArray RxBuffer */
+ output_array[1] = plc.signal_mirror(input_array[1]);
/* Uncomment the relevant function as required */
- //outputArray[1] = plc.signalMirror(0xFF);
- //outputArray[1] = plc.outputFreeze(0xFF,5000);
- //outputArray[1] = plc.outputRegroup(0xFF);
- //Ch_On = plc.inputSum(&outputArray[1],0xFF);
- //outputArray[1] = plc.setOutput(0xFF);
- //outputArray[1] = plc.inputsAND(0xFF,0x0F);
- //outputArray[1] = plc.inputsOR(0xF0,0x0F);
- //outputArray[1] = plc.inputsNOT(0x00);
- //outputArray[1] = plc.inputsXOR(0xFF,0x00);
+ //output_array[1] = plc.signal_mirror(0xFF);
+ //output_array[1] = plc.output_freeze(0xFF,5000);
+ //output_array[1] = plc.output_regroup(0xFF);
+ //ch_on = plc.input_sum(&output_array[1],0xFF);
+ //output_array[1] = plc.set_output(0xFF);
+ //output_array[1] = plc.inputs_and(0xFF,0x0F);
+ //output_array[1] = plc.inputs_or(0xF0,0x0F);
+ //output_array[1] = plc.inputs_not(0x00);
+ //output_array[1] = plc.inputs_xor(0xFF,0x00);
/* Parity bits calculation */
- plc.outputParityBits(outputArray);
+ plc.output_parity_bits(output_array);
/* Send output information to solid state relay */
- plc.plcOutput().Ssrelay_SetOutput(outputArray);
+ plc.plc_output().ssrelay_set_output(output_array);
}
void setup(SPI &spi, int bits, int mode = 0, int frequency_hz = 1E6)
@@ -113,26 +113,29 @@
int main()
{
/*----- Initialization. -----*/
+
+ /* Printing to the console. */
+ printf("PLC Control Application Example\r\n\n");
/* Initializing SPI bus. */
SPI spi(X_NUCLEO_PLC01A1_PIN_SPI_MOSI, X_NUCLEO_PLC01A1_PIN_SPI_MISO, X_NUCLEO_PLC01A1_PIN_SPI_SCLK);
setup(spi, X_NUCLEO_PLC01A1_PIN_SPI_BITS);
/* Initializing X_NUCLEO_PLC01A1 IO Channels Component. */
- X_NUCLEO_PLC01A1 plc(X_NUCLEO_PLC01A1_PIN_SPI_CS1, X_NUCLEO_PLC01A1_PIN_SPI_CS2, X_NUCLEO_PLC01A1_PIN_OUT_EN, spi);
+ XNucleoPLC01A1 plc(X_NUCLEO_PLC01A1_PIN_SPI_CS1, X_NUCLEO_PLC01A1_PIN_SPI_CS2, X_NUCLEO_PLC01A1_PIN_OUT_EN, spi);
while(1) {
- plc.plcInput().SetReadStatus(1);
+ plc.plc_input().set_read_status(1);
/* Polling input device to refresh input state */
- if(plc.plcInput().GetReadStatus()) {
+ if(plc.plc_input().get_read_status()) {
- plc.plcInput().SetReadStatus(0);
+ plc.plc_input().set_read_status(0);
#ifdef OUTPUT_CYCLING
- plc.outputCycling();
+ plc.output_cycling();
#else
- DigitalInputArrayHandler(plc);
- SsrelayHandler(plc);
+ digital_input_array_handler(plc);
+ ssrelay_handler(plc);
#endif /* OUTPUT_CYCLING */
}
wait_ms(10);