Coder Social home page Coder Social logo

fpistm / arduino_core_stm32l4 Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 49.11 MB

[Deprecated] STM32L4 support added to the Arduino_Core_STM32.

C 93.45% C++ 2.51% Processing 0.03% Arduino 1.05% Shell 0.01% Objective-C 0.74% Logos 0.09% Assembly 1.70% HTML 0.39% Makefile 0.04%

arduino_core_stm32l4's Introduction

Hi there ๐Ÿ‘‹

zephyr-technical-contributor

๐Ÿ“ˆ GitHub Stats

fpistm's GitHub Stats

arduino_core_stm32l4's People

Contributors

fpistm avatar rogerclarkmelbourne avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

lmestm

arduino_core_stm32l4's Issues

Board seem to be running at 64Mhz not 80Mhz

PLL multiplier settings seem to be for the board to run at 64Mhz not the 80MHz as advertised on STM's website.

Looking in hw_config.c there are 2 possible speeds, controlled by a definition of ENABLE_HIGH_SPEED

However if the code is recompiled with ENABLE_HIGH_SPEED defined, the board seems to run even slower

PWM pins are not set in AF mode again

Work on NUCLEO_L476RG

How to reproduce the issue
start with D3 as PWM, works fine
change D3 as output
set back D3 as PWM, PWM doesn't work anymore.

Issues : GPIOB_3 isn't set as AF mode in 0x48000400 MODE15[1:0]= 01 instead of 10

you should add in analog.c ,line #708:
HAL_TIM_PWM_MspInit(&g_analog_config[id].timHandle);

after that it works fine

linker _user_heap definition may conflict with Arduino IDE RAM calculation

See http://stm32duino.com/viewtopic.php?f=48&t=1564&p=20198#p20198

@RickKimball posted

The way the arduino IDE calculates RAM usage and the way the linker script attempts to warn you about the low memory usage are in conflict. There are really 1536 bytes of RAM that the linker "allocates" to the heap and the stack. However, the linker's approach doesn't really reflect how much heap or RAM is used. The arduino IDE knows how much RAM a board/chip has and will report low memory issues with a warning about stability. However, neither approach is accurate.

You could probably change the linker script part here from:

 ._user_heap_stack :
   {
     . = ALIGN(4);
     PROVIDE ( end = . );
     PROVIDE ( _end = . );
     . = . + _Min_Heap_Size;
     . = . + _Min_Stack_Size;
     . = ALIGN(4);
   } >RAM

to:

 ._user_heap_stack :
  {
  . = ALIGN(4);
 PROVIDE ( end = . );
 PROVIDE ( _end = . );
 } >RAM

This would stop the reporting of a bogus RAM memory usage and in our case, the arduino IDE will start complaining if you are getting too close to the edge.

Rework pinmap

This issue has been created to follow pinmap rework

Compilation issues when including wire.h

When using MCP342x library, a compilation issue is raised:
Arduino15\packages\STM32\hardware\stm32l4xx\2016.9.16\libraries\Wire/Wire.h:51:5: error: 'i2c_instance_e' does not name a type

 i2c_instance_e p_i2c_instance; 

 ^

To correct this, #include "twi.h" should be made in the wire.h instead of wire.cpp.

Class inconsistencies in the Serial mappings

In variants/STM32L476RG_Nucleo/variant.cpp:

UARTClass Serial(USART2_E);    //available on PA2/PA3
UARTClass Serial1(USART1_E);   //available on PA9/PA10
USARTClass Serial2(USART2_E);  //available on PA2/PA3
USARTClass Serial3(UART4_E);   //available on PA0/PA1

Why using UARTClass for Serial and Serial1?
Why using USARTClass for Serial3?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.