MatveyRybalkin / Vertex-language

Optimized C/C ++, as an alternative to arduino, supports most avr microcontrollers of the AVR architecture. Demo.
https://github.com/robotsvision/vertex-framework
1 stars 0 forks source link

Vertex-language

Optimized C/C ++, as an alternative to arduino, supports most avr microcontrollers of the RISC architecture. Demo.

Foreword: You can use the Arduino style completely: DigitalWrite(port, b), for this you need to change the STYLE value to ARDUINO_STYLE.

define STYLE ARDUINO_STYLE

or you can:

define STYLE AVR_STYLE

to use AVR C++ style in functions.

Digital output functions:

PortB(), PortC(), PortD() - functions that set a logical value on the MС port, accepting 2 values as input, a port number, and a logical value.

DigitalWrite(port, port_type, b) - analogue digitalWrite functions . The function sets a logical value on the MС port. Example: DigitalWrite(5, TypeB, 1) - supply value 1 on port PB5. or DigitalWrite(13, 1)

Digital input functions:

Functions: ReadB(), ReadC(), ReadD(). Returns a value from a port. Function DigitalRead(port, port_type). Analogue in Arduino style. or DigitalRead(port)

Setting the port type:

InputTypeB(), OutputTypeB(), InputTypeC(), OutputTypeC(), InputTypeD(), OutputTypeD() - functions that set the input/output port mode. As an argument, take the port number. Function PinMode(port, port_type, type). Analogue in Arduino style. or PinMode(port, type)

Digital input functions: Timer-Counter Setting Functions: TimerX_Fast_PWM() - turns timer X into Fast-PWM mode. TimerX_PhaseCorrect() - Turns timer X into accurate phase mode. TimerXNormal - disable the X timer-counter. PXx_Fast_PWM - Sets a specific port to Fast PWM mode. PXx_PhaseCorrect - Sets the specified port to precise phase mode. PXx_Normal - disable the timer on a specific port.

or in ARDUINO_STYLE: AnalogWrite(port, val); - This is currently being developed.

Functions for working with UART: UartInit() function. Complete analogue of the Serial.begin() function. UartOutByte() function. Sends a byte of information over the UART interface. UartInByte() function. Receives a byte of information via the UART interface. Function UartOutStr() (UartOutStrLn()). Sends a string of information over the UART interface.

Functions for working with EEPROM: EEPROM_WriteByte() function. Writes a byte of information to the non-volatile memory of the MK in the corresponding cell. EEPROM_ReadByte() function. Reads a byte of information from the corresponding non-volatile memory cell.

Math: complex(a, b) - struct for complex numbers sum_complex(complex a, complex b) - sum of two complex numbers sub_complex(complex a, complex b) - subtraction of two complex numbers mul_complex(complex a, complex b) - multiplication of two complex numbers div_complex(complex a, complex b) - division of two complex numbers

You can use Catalan numbers with array: catalan[num]

integral(double first, double last, double h, double(*F)(double x)) - Finds the area under the integral given the parameters. The last argument is a pointer to a function with one argument, of type double.