Commit Graph

121 Commits

Author SHA1 Message Date
chao an
6ee9ec7656 build: add initial cmake build system
1. Update all CMakeLists.txt to adapt to new layout
2. Fix cmake build break
3. Update all new file license
4. Fully compatible with current compilation environment(use configure.sh or cmake as you choose)

------------------

How to test

From within nuttx/. Configure:

cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja
cmake -B build -DBOARD_CONFIG=sim:nsh -GNinja
cmake -B build -DBOARD_CONFIG=sabre-6quad/smp -GNinja
cmake -B build -DBOARD_CONFIG=lm3s6965-ek/qemu-flat -GNinja

(or full path in custom board) :
cmake -B build -DBOARD_CONFIG=$PWD/boards/sim/sim/sim/configs/nsh -GNinja

This uses ninja generator (install with sudo apt install ninja-build). To build:

$ cmake --build build

menuconfig:

$ cmake --build build -t menuconfig

--------------------------

2. cmake/build: reformat the cmake style by cmake-format

https://github.com/cheshirekow/cmake_format

$ pip install cmakelang

$ for i in `find -name CMakeLists.txt`;do cmake-format $i -o $i;done
$ for i in `find -name *\.cmake`;do cmake-format $i -o $i;done

Co-authored-by: Matias N <matias@protobits.dev>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-08 13:50:48 +08:00
Xiang Xiao
7990f90915 Indent the define statement by two spaces
follow the code style convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-21 09:52:08 -03:00
yinshengkai
85f727f232 tools: replace INCDIR to Makefile variable
In the past, header file paths were generated by the incdir command
Now they are generated by concatenating environment variables

In this way, when executing makefile, no shell command will be executed,
it will improve the speed of executing makfile
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-11-03 19:59:55 +08:00
Michael Jung
9140693567 Add lcd_dev_s pointer to lcd_planeinfo_s
In order to support multiple LCD instances per board, add a pointer from
lcd_planeinfo_s to the lcd_dev_s which it belongs to.  Also enhance the
putrun, getrun, putarea and getarea methods to pass through the
lcd_dev_s pointer to the respective device driver.

Port all LCD device drivers to this lcd_planeinfo_s extension.

Enhance SSD1306 driver to support multiple LCDs.

Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-06-21 21:33:23 +08:00
Petro Karashchenko
d08fbca679 nuttx: unify FAR attribute usage across the code
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-04 21:32:58 +08:00
Xiang Xiao
5b2a17b892 Include assert.h in necessary place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-08 13:06:08 -07:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Alin Jerpelea
8366a20be8 graphics: Author: Gregory Nutt: update licenses to Apache
Update files from Gregory Nutt to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-07 11:09:03 -03:00
Alin Jerpelea
f177951c39 graphics: fix nxstyle errors
Fix nxstyle errors to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-07 11:09:03 -03:00
Xiang Xiao
7e5b0f81e9 build: Replace -I with INCDIR
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 20:20:12 +01:00
Xiang Xiao
1a95cce1a3 build: Move .config check to the top Makefile
remove the workaround to handle the inexistence of .config/Make.defs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-20 17:57:34 +01:00
Xiang Xiao
5eae32577e build: Move INCDIROPT to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:02:55 -06:00
Xiang Xiao
9a7d5faec7 graphics/nxglib: Remove clean target from Makefile.*
since the same thing is already done by graphics/Makefile

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ib4d16e52e954936b4ea2a3d5ee410ab73ee45561
2020-04-25 09:36:56 -06:00
Gregory Nutt
5c0e8e88b1 Revert "Makefile: move INCDIROPT to common place (#625)"
This reverts commit b9ace36fcc.

This change was added by PR 625 but has a serious logic flaw.  It removes all occurrences of INCDIROPT and replaces it with a definition in tools/Config.mk:

    else ifeq ($(WINTOOL),y)
      DEFINE = "$(TOPDIR)/tools/define.sh"
      INCDIR = "$(TOPDIR)/tools/incdir.sh" -w

This logic flaw is the Config.mk is included in all Make.defs files BEFORE WINTOOL is defined.  As a result, the definition is wrong in many places when building under Cygwin with a Windows native toolchain.
2020-03-26 08:50:29 -07:00
Xiang Xiao
b9ace36fcc
Makefile: move INCDIROPT to common place (#625) 2020-03-26 08:09:59 -06:00
Alan Carvalho de Assis
22057a8850 nxglib: Remove warning "Assuming 24-bit color is not packed"
Author: Xiang Xiao <xiaoxiang@xiaomi.com>

Fix the nxstyle Left/Right brackets in a new lined

Author: Alan Carvalho de Assis <acassis@gmail.com>

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-03-07 16:39:56 -03:00
Xiang Xiao
cde88cabcc Run codespell -w with the latest dictonary again
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Xiang Xiao
a8de37fbec Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-08 07:25:56 -06:00
Xiang Xiao
68951e8d72 Remove exra whitespace from files (#189)
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Gregory Nutt
c4f618e590 graphics/nxbe: This seems to fix the last of software cursor bugs. On the LPC54, it looks pretty clean. Not flickery as I feared. Probably not so good on low end displays. Possible transient artifacts? Not sure, maybe. Or maybe my eyes are playing tricks froom staring at this too long. 2019-04-13 15:08:32 -06:00
Gregory Nutt
ee99e7317a /graphics/nxglib/cursor: Correct two locations where y used where x intended. 2019-04-11 13:25:32 -06:00
Gregory Nutt
a759c7cdc3 graphics/nxglib/cursor: Correct handling of some bounding boxes. 2019-04-11 09:04:38 -06:00
Gregory Nutt
b91b2cafd0 graphics/nxbe: Fix more cursor-related problems. Currently cursor is presented but the system dies due to memory corruption. 2019-04-10 14:59:43 -06:00
Gregory Nutt
ad76ca674b graphics/nxbe: Some bugfix found early in cursor testing. 2019-04-10 12:31:43 -06:00
Gregory Nutt
cbb09c55ec graphics/nxbe and nxmu: This bring the software cursor to code complete. Still untested. Some flicker is expected. It has not been determined if that level of flicker is acceptable or not. 2019-04-09 15:09:10 -06:00
Gregory Nutt
4aadcc8c28 Adds support for cursors with differing pixel depths on multiple displays
Squashed commit of the following:

    Update .gitignore
    Fix some compile-related issues.
    Add support for cursors of differing pixeldepth.
    Various compile-related fixes.
    graphics/nxglib:  Separate cursor rendering routines in nxglib/ (like all other rendering logic).  graphics/nxbe:  Flesh out remaining cursor methods.
2019-04-09 11:33:59 -06:00
Gregory Nutt
0a6bb6e614 grahics/nxglib/nxglib.h: Move internal function prototypes from include/nuttx/nx/nxglib.h to graphics/nxglib/nxglib.h. 2019-04-08 17:14:41 -06:00
Gregory Nutt
1efa91eaed graphics: Costmetic clean-up 2019-03-14 14:49:50 -06:00
Gregory Nutt
554a3ee824 graphics: Extend NXBE data structures to include the per-window framebuffer (pwfb) vtable. Add logic to initialize the pwfb vtable. 2019-03-14 14:38:56 -06:00
Gregory Nutt
49635f6e1f graphics: Clone logic for new bit blitters for per-window framebuffers. 2019-03-14 13:18:55 -06:00
Gregory Nutt
f2d90e6298 graphics: For consistency, rename fields fb->fbmem as in other structures. 2019-03-14 12:19:01 -06:00
Gregory Nutt
1567b82429 Make sure that labeling is used consistently in all function headers (part 2). 2018-02-01 12:03:55 -06:00
Gregory Nutt
9c82ce2091 nuttx/graphics/nxglib: Add some REVISIT comments to some logic that looks suspicious. 2017-11-27 15:34:35 -06:00
Gregory Nutt
749eb6b7cd Update README; Remove comment blocks before empty sections. 2017-01-08 11:36:06 -06:00
Gregory Nutt
ecf0bcf13c Make graphics build system work like other directories 2016-04-13 15:39:03 -06:00
Gregory Nutt
06cd5b2fcc mm, audio, crypto, graphics: Fix various spacing/alignment issues 2015-10-08 09:10:22 -06:00
Gregory Nutt
83f26091f4 Implement anti-aliasing in the NuttX graphics line drawing 2015-07-14 10:17:42 -06:00
Gregory Nutt
bee0eda68c Make some file section headers more consistent with standard 2015-04-08 08:32:05 -06:00
Gregory Nutt
0da9aaeb09 Fix some recurring typos: postion->position, *atino->*ation 2014-07-08 13:12:36 -06:00
Gregory Nutt
f8024cf409 More trailing whilespace removal 2014-04-13 16:22:22 -06:00
Gregory Nutt
a457105a0b Move the NX components out of libc and into its own library, libnx 2013-12-28 08:40:03 -06:00
Gregory Nutt
090a18f863 Decoupling NX user interfaces to support NX kernel build (phase 5) 2013-12-27 16:30:18 -06:00
Gregory Nutt
ae29bcb5ab Decoupling NX user interfaces to support NX kernel build (phase 4) 2013-12-27 15:51:26 -06:00
Gregory Nutt
e282aad903 Move include/nuttx/fb.h to include/nuttx/video/fb.h 2013-12-10 09:23:54 -06:00
Gregory Nutt
db78b76102 Mostly updates and corrections to .gitignore files 2013-04-04 15:39:50 -06:00
Gregory Nutt
23db0682b7 Clone svn:ignore directory atributed to .gitignore files 2013-04-04 14:27:29 -06:00
patacongo
0af8e9642a Missing parenthesis in NXGL code; add debug output to LPC1788 LCD driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5797 42af7a65-404d-4744-a932-0658087f49c3
2013-03-28 15:04:01 +00:00
patacongo
431ad8c567 Fix the fat, flat line bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5407 42af7a65-404d-4744-a932-0658087f49c3
2012-12-02 17:34:08 +00:00
patacongo
e4bde1803a standard keypad inteface and apps/examples/keypadtest from Denis Carikli
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5403 42af7a65-404d-4744-a932-0658087f49c3
2012-12-01 15:43:51 +00:00