Francisco Sarabia / Mbed 2 deprecated STM32F103C8T6_Matrizgauss

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
franciscos
Date:
Wed Mar 04 00:51:01 2020 +0000
Commit message:
esime;

Changed in this revision

STM32F103C8T6/PinNames.h Show annotated file Show diff for this revision Revisions of this file
STM32F103C8T6/SysClockConf.cpp Show annotated file Show diff for this revision Revisions of this file
STM32F103C8T6/SysClockConf.h Show annotated file Show diff for this revision Revisions of this file
STM32F103C8T6/stm32f103c8t6.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r f16f5fb2d1b9 STM32F103C8T6/PinNames.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/STM32F103C8T6/PinNames.h	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,217 @@
+/* mbed Microcontroller Library
+ *******************************************************************************
+ * Copyright (c) 2014, STMicroelectronics
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *******************************************************************************
+ 
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+#include "PinNamesTypes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//UART to AMB8826
+#define TXD1      PA_9
+#define RXD1      PA_10
+#define CTS1      PA_11
+int baudRate = 115200;
+
+//UART to Silicon Labs CP210x
+#define TXD2      PA_2
+#define RXD2      PA_3
+
+//UART to FTDI
+#define TXD3      PB_10
+#define RXD3      PB_11
+
+//I2C
+#define I2C1_SCL  PB_6
+#define I2C1_SDA  PB_7
+
+#define I2C2_SCL  PB_10
+#define I2C2_SDA  PB_11
+
+//SPI
+#define SPI1_MOSI PA_7
+#define SPI1_MISO PA_6
+#define SPI1_SCLK PA_5
+#define SPI1_NSS1 PA_4
+#define SDsel     PA_4
+
+#define SPI2_MOSI PB_15
+#define SPI2_MISO PB_14
+#define SPI2_SCLK PB_13
+#define SPI2_NSS2 PB_12
+
+//CAN
+#define CAN1_RX   PA_11
+#define CAN1_TX   PA_12
+
+//USB   CDC
+#define USB_POS   PA_12
+#define USB_NEG   PA_11
+
+//ADC
+#define Uin       PA_1
+#define Ubatt     PA_0
+
+typedef enum {
+    // Not connected
+    NC = (int)0xFFFFFFFF,
+
+    // Ports
+    PA_0  = 0x00,
+    PA_1  = 0x01,
+    PA_2  = 0x02,
+    PA_3  = 0x03,
+    PA_4  = 0x04,
+    PA_5  = 0x05,
+    PA_6  = 0x06,
+    PA_7  = 0x07,
+    PA_8  = 0x08,
+    PA_9  = 0x09,
+    PA_10 = 0x0A,
+    PA_11 = 0x0B,
+    PA_12 = 0x0C,
+    PA_13 = NC,
+    PA_14 = NC,
+    PA_15 = 0x0F,
+
+    PB_0  = 0x10,
+    PB_1  = 0x11,
+    PB_2  = NC,
+    PB_3  = 0x13,
+    PB_4  = 0x14,
+    PB_5  = 0x15,
+    PB_6  = 0x16,
+    PB_7  = 0x17,
+    PB_8  = 0x18,
+    PB_9  = 0x19,
+    PB_10 = 0x1A,
+    PB_11 = 0x1B,
+    PB_12 = 0x1C,
+    PB_13 = 0x1D,
+    PB_14 = 0x1E,
+    PB_15 = 0x1F,
+
+    PC_0  = NC,
+    PC_1  = NC,
+    PC_2  = NC,
+    PC_3  = NC,
+    PC_4  = NC,
+    PC_5  = NC,
+    PC_6  = NC,
+    PC_7  = NC,
+    PC_8  = NC,
+    PC_9  = NC,
+    PC_10 = NC,
+    PC_11 = NC,
+    PC_12 = NC,
+    PC_13 = 0x2D,
+    PC_14 = 0x2E,
+    PC_15 = 0x2F,
+
+    PD_2  = NC,
+
+    // ADC internal channels
+    ADC_TEMP = 0xF0,
+    ADC_VREF = 0xF1,
+
+    // Arduino connector namings
+    A0          = PA_0,
+    A1          = PA_1,
+    A2          = PA_4,
+    A3          = PB_0,
+    A4          = NC,
+    A5          = NC,
+    D0          = PA_3,
+    D1          = PA_2,
+    D2          = PA_10,
+    D3          = PB_3,
+    D4          = PB_5,
+    D5          = PB_4,
+    D6          = PB_10,
+    D7          = PA_8,
+    D8          = PA_9,
+    D9          = NC,
+    D10         = PB_6,
+    D11         = PA_7,
+    D12         = PA_6,
+    D13         = PA_5,
+    D14         = PB_9,
+    D15         = PB_8,
+
+    // Generic signals namings
+    Red_Led     = NC,
+    Green_Led   = PC_13,
+    Blue_Led    = NC,
+    LED1        = PC_13,
+    LED2        = NC,
+    LED3        = NC,
+    LED4        = NC,
+    USER_BUTTON = NC,    
+    SERIAL_TX   = PA_2,
+    SERIAL_RX   = PA_3,
+    USBTX       = PA_12,
+    USBRX       = PA_11,
+    CANRX       = PB_8,    
+    CANTX       = PB_9,
+    I2C_SCL     = PB_6,
+    I2C_SDA     = PB_7,
+    SPI_MOSI    = PA_7,
+    SPI_MISO    = PA_6,
+    SPI_SCK     = PA_5,
+    SPI_CS      = PA_4,
+    TRACE_SWO   = PB_3,
+    SWO         = PB_3
+} PinName;
+
+/*
+*+----------------------------------------------------------------------------*
+*+
+*+   Powered by
+*+
+*+          T H E     A N T U L I U ' S   T E A M   R&D  Unltd 
+*+
+*+  Research, Development, Systems, Equipment, Support & Spare Parts.
+*+  (C) Copyright 1989-2019, All Rights Reserved            
+*+
+*+  Welcome to The Beaners Proyect Community!                   
+*+----------------------------------------------------------------------------*
+*/ 
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff -r 000000000000 -r f16f5fb2d1b9 STM32F103C8T6/SysClockConf.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/STM32F103C8T6/SysClockConf.cpp	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,56 @@
+/*
+  ******************************************************************************
+  * @file    SysClockConf.c
+  * @version 
+  * @date    05-July-2016
+  * @brief   System Clock configuration for STM32F103C8T6
+  *****************************************************************************
+  *
+  * All rights reserved.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  */
+
+#include "SysClockConf.h"
+#include "mbed.h"
+
+void HSE_SystemClock_Config(void) {
+    RCC_OscInitTypeDef        RCC_OscInitStruct;
+    RCC_ClkInitTypeDef        RCC_ClkInitStruct;
+    RCC_PeriphCLKInitTypeDef  PeriphClkInit;
+
+    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+    RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
+    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+    RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
+    HAL_RCC_OscConfig(&RCC_OscInitStruct);
+    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
+    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+    HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
+    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_USB;
+    PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
+    PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5;
+    HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
+}
+
+void confSysClock(void) {
+    HAL_RCC_DeInit();
+    HSE_SystemClock_Config();
+    SystemCoreClockUpdate();
+}
diff -r 000000000000 -r f16f5fb2d1b9 STM32F103C8T6/SysClockConf.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/STM32F103C8T6/SysClockConf.h	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,17 @@
+/*
+  ******************************************************************************
+  * @file    SysClockConf.c
+  * @version 
+  * @date    05-July-2016
+  * @brief   System Clock configuration for STM32F103C8T6
+  *****************************************************************************
+  *
+  * All rights reserved.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+*/
+#pragma once
+void confSysClock(void);
diff -r 000000000000 -r f16f5fb2d1b9 STM32F103C8T6/stm32f103c8t6.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/STM32F103C8T6/stm32f103c8t6.h	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,4 @@
+#pragma once
+#include "PinNames.h"
+#include "SysClockConf.h"
+
diff -r 000000000000 -r f16f5fb2d1b9 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,330 @@
+/* #############################################################################
+**    Archivo        : main.c
+**    Proyecto       : STM32F103C8_Matrizgauss
+**    Procesador     : STM32F103C8T6
+**    Plataforma     : Blue Pill
+**    Herramienta    : Mbed Compiler
+**    Version        : Driver 01.01
+**    Compilador     : GNU C Compiler
+**    Fecha/Hora     : 17-02-2020, 22:53, # CodeGen: 0
+**    Descripción    :
+**         Este programa resuelve un sistema de ecuaciones de 3x3 por el metodo de Gauss
+**         This module contains user's application code.
+**   Componentes     : GPIO, Timer, etc .
+**   Configuraciones : Includes, Stacks y Drivers externos
+**   Autores         :
+**         ATEAM Development Group:
+**          -  Francisco Sarabia López, Antulio Morgado Valle(plantilla)
+**
+**   Versión        : Alpha
+**   Revisión       : A
+**   Release        : 0
+**   Bugs & Fixes   :
+**   Date           : 
+**
+** ###########################################################################*/
+/*
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:  Includes
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*/
+#include "stm32f103c8t6.h"
+#include "mbed.h"
+#include "Serial.h"
+//#include "LedRGB.h"
+#include "stdio.h"
+
+/*
+:...............................................................................
+:  Definiciones
+:...............................................................................
+*/
+#define  on             0           // Estado para boton presionado
+#define off             1           // Estado para boton sin presionar
+#define hold            2           // Estado para boton mantenido
+#define release         3           // Estado para boton liberado
+#define FALSE           0           // Estado FALSO
+#define TRUE            1           // Estado VERDADERO
+#define Ticker_Rate     1000        // Periodo de interrupción Ticker (us)
+#define Baud_Rate       115200      // Velocidad de Transmisión de la Terminal
+/*
++-------------------------------------------------------------------------------
+|  Configuración de Puertos 
++-------------------------------------------------------------------------------
+*/
+Ticker      TimerInt;               // Inicializa la Interrupción por Timer
+DigitalOut  led_monitor(LED1);      // Inicializa el LED Monitor
+DigitalOut  led_testigo(PB_1);      // Inicializa el LED Testigo
+PwmOut      led_pwm(PA_7);          // Inicializa el LED PWM
+AnalogIn    sensor1(PB_0);          // Inicializa Canal Analógico para sensor 1
+Serial      terminal(PA_2, PA_3);   // Inicializa la Comunicación Serial a la PC
+/*
++-------------------------------------------------------------------------------
+|  Variables Globales de Usuario 
++-------------------------------------------------------------------------------
+*/
+uint16_t Rate=Ticker_Rate/2;        // Velocidad de barrido (500us = 0.5ms)
+uint16_t counter=250;               // Cuenta inicial de 250us
+/* END variables */
+
+/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+|  Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+*/
+        // Las Definiciones de Funciones Prototipo 
+        // y Apuntadores a Vectores de Interrupciones van aquí !
+void TimerInt_OnInterrupt(void);  
+void Blinking_Led(void);
+void ImprimirMatriz(float Matriz[3][4]);
+void IntercambiaFilas(float Matriz[][4], int F, int C);
+void EliminacionDiag(float Matriz[][4], int C);
+
+/* END prototypes */
+
+/* END definitions */  
+/*
+#===============================================================================
+|
+|               P R O G R A M A     P R I N C I P A L
+|
+#=============================================================================== 
+*/
+int main()          
+{                           // Inicialización de variables, puertos e interrupciones
+confSysClock();             // Inicialización del Sistema, Configure system clock (72MHz HSE clock, 48MHz USB clock)
+TimerInt.attach_us(&TimerInt_OnInterrupt, Ticker_Rate);   // Le asigna el periodo de interrupción de 1ms (Ticker_Rate=1000)
+
+terminal.baud(Baud_Rate);      // Se configura la velocidad de transmisión e inicia la comunicación serial.    
+terminal.printf(" System is Wake Up!.\n\r"); 
+
+    while (true)                // El Lazo del Programa principal está aquí !!!
+    {
+        Blinking_Led();             // Parapadeo del LED por Software
+        led_pwm = sensor1.read();   // El Led se encenderá de acuerdo al valor del sensor
+        terminal.printf("INSTITUTO POLITECNICO NACIONAL \r\n");
+        terminal.printf("\n EEEEEEE       SSSS      IIIIIII     M      M    EEEEEEE \r\n");
+        terminal.printf(  " E            S             I        M M  M M    E \r\n");
+        terminal.printf(  " EEEEEEE       SSSS         I        M  MM  M    EEEEEEE \r\n");
+        terminal.printf(  " E                 S        I        M      M    E \r\n"); 
+        terminal.printf(  " EEEEEEE       SSSS      IIIIIII     M      M    EEEEEEE \r\n");
+        terminal.printf(  "\n Francisco Sarabia Lopez\r\n"); 
+        terminal.printf(  "\n Ingenieria en Comunicaciones y Electronica\r\n");
+        
+//----------------------------------------------------------------------------------------------
+// Funciones aparte
+//----------------------------------------------------------------------------------------------
+
+//Funcion imprimir
+
+//----------------------------------------------------------------------------------------------
+// Main de matriz por metodo de gauss
+//----------------------------------------------------------------------------------------------
+        float matriz[3][4];//matriz con los datos igualados de las ecuaciones incluidas
+        float X,Y,Z;
+        float FAux1[4];//Filas auxiliares
+        float FAux2[4];
+        int i,j,k,f,c;
+        //Valores de prueba
+        matriz[0][0]=0;
+        matriz[0][1]=2;
+        matriz[0][2]=0.5;
+        matriz[0][3]=7; //Igualdad primera ecuacion
+        matriz[1][0]=5;
+        matriz[1][1]=0.33;
+        matriz[1][2]=1;
+        matriz[1][3]=0; //Igualdad segunda ecuacion
+        matriz[2][0]=3;
+        matriz[2][1]=4;
+        matriz[2][2]=2;
+        matriz[2][3]=1; //Igualdad tercera ecuacion
+
+        ImprimirMatriz(matriz);
+
+        for (i=0;i<3;i++)
+        {
+            //Compriobacion de diagonales diferentes a cero
+            if(matriz[i][i]==0)
+            {
+                f=i;
+                c=i;
+                IntercambiaFilas(matriz,f,c);
+                ImprimirMatriz(matriz);
+            }
+            //Eliminacion de numeros
+            EliminacionDiag(matriz,i);
+            ImprimirMatriz(matriz);
+        }
+        //Formulas para las incógnitas
+        Z=matriz[2][3]/matriz[2][2];
+        Y=(matriz[1][3]-(Z*matriz[1][2]))/matriz[1][1];
+        X=(matriz[0][3]-(Z*matriz[0][2])-(Y*matriz[0][1]))/matriz[0][0];
+
+        terminal.printf("\n\n X= %.2f  \t Y= %.2f \t Z= %.2f ", X, Y, Z);
+        return 0; 
+        
+//----------------------------------------------------------------------------------------------
+// Finaliza Main de Gauss
+//----------------------------------------------------------------------------------------------
+           
+    }
+}
+/* END main */
+
+/*
+................................................................................
+:  Rutinas de los Vectores de Interrupción
+................................................................................
+*/
+                // Las Rutinas de Atención a Interrupciones van aquí !
+void TimerInt_OnInterrupt()          // Rutina de Atención al Ticker
+{
+    
+}
+/* END Events */   
+/*
+________________________________________________________________________________
+|
+|  Funciones Prototipo
+|_______________________________________________________________________________
+*/
+                // Las Funciones Prototipo van aquí !
+void Blinking_Led()     // Software Blinking routine for LED 
+{
+        // The on-board LED is connected, via a resistor, to +3.3V (not to GND). 
+        // So to turn the LED on or off we have to set it to 0 or 1 respectively
+    led_testigo = 1;        // turn the LED on (using Positive Logic)
+    wait_ms(200);           // 200 millisecond
+    led_testigo = 0;        // turn the LED off (using Positive Logic)
+    wait_ms(1000);          // 1000 millisecond
+}
+
+void ImprimirMatriz(float Matriz[3][4])
+    {
+    int i,j;
+    for(i=0;i<3;i++)
+    {
+        for(j=0;j<3;j++)
+        {
+            printf(" %7.2f", Matriz[i][j]);
+            if(j==0)
+            {
+                printf("x");
+            }
+            else if(j==1)
+            {
+                printf("y");
+            }
+            else if(j==2)
+            {
+                printf("z");
+            }
+        }
+        printf("\t = %7.2f \n", Matriz[i][j]);
+    }
+    printf("\n\n");
+}
+
+void IntercambiaFilas(float Matriz[][4], int F, int C) //Intercambio de filas si el valor (F,C)=0;
+{
+    int i,j,k;
+    float FAux1[4]; 
+    float FAux2[4];
+    
+    if (Matriz[F][C]==0)            
+    {
+        j=0;
+        for(k=0;k<3;k++)
+        {
+            if (Matriz[k][C]!=0)
+            {
+                j=k;
+            }
+            if(j!=0)
+            {
+                k=3;
+            }
+        }
+    /*if (k==3 && j==0)
+    {
+        printf("\n\n Nmms esta no es una matriz 3x3, resuelvela solo >:c \n\n");
+    }*/
+
+    printf("\t Se intercambia la fila %d por la fila %d \n\n", F+1, j+1);
+        for(i=0;i<4;i++)
+        {
+            FAux1[i]=Matriz[F][i];
+            FAux2[i]=Matriz[j][i];
+        }
+        for(i=0;i<4;i++)
+        {
+            Matriz[F][i]=FAux2[i];
+            Matriz[j][i]=FAux1[i];
+        }
+    }
+}
+
+void EliminacionDiag(float Matriz[][4], int C)
+{
+    float coef,coef1;
+    float FAux1[4]; 
+    float FAux2[4];
+    int i,j,k;
+    coef=Matriz[C][C];
+    
+    for (i=0;i<3;i++)
+    {
+        
+        if(i!=C)
+        {
+            if(Matriz[i][C]!=0)
+            {
+                coef1=Matriz[i][C];
+            
+                for (j=0; j<4; j++)
+                {
+                    FAux1[j]=coef1*Matriz[C][j];
+                    FAux2[j]=coef*Matriz[i][j];
+                }
+                
+                for (k=0;k<4;k++)
+                {
+                    FAux2[k]=FAux1[k]-FAux2[k];
+                }
+            
+                for (k=0;k<4;k++)
+                {
+                    Matriz[i][k]=FAux2[k];
+                }
+            }
+            else
+            {
+                printf("\n\n\t dato (%d,%d) es cero \n\n",i,C);
+            }   
+        }
+    }
+}
+/* END functions */    
+                
+/* END program */
+
+/*+-----------------------------------------------------------------------------       
+*+ La documentación va aquí!:
+*+-----------------------------------------------------------------------------       
+*+
+*+
+*+----------------------------------------------------------------------------*
+*+
+*+   Powered by
+*+
+*+          T H E     A N T U L I U ' S   T E A M   R&D  Unltd 
+*+
+*+  Research, Development, Systems, Equipment, Support & Spare Parts.
+*+  (C) Copyright 1989-2019, All Rights Reserved            
+*+
+*+  Welcome to The Beaners Proyect Community!                   
+*+----------------------------------------------------------------------------*/
+
+/* END documentation */ 
+
+/* END Mbed */ 
\ No newline at end of file
diff -r 000000000000 -r f16f5fb2d1b9 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Mar 04 00:51:01 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file