1
0

95 Commits

Author SHA1 Message Date
Florian Fleissner
55065cec59 Blindly pull all plugins up to current 2019-12-20 08:42:49 +02:00
Jesse Vincent
3e3743904b Blindly pull all plugins up to current 2019-12-14 09:59:49 +08:00
Jesse Vincent
d2ba1f6359 Blindly pull all plugins up to current 2019-12-13 01:39:31 -08:00
Gergely Nagy
2c86549788
Blindly pull all plugins up to current 2019-12-13 04:23:51 +01:00
Florian Fleissner
7708c601a9 Adds build recipe to paste header/footer to sketch
This change adds a build recipe that pastes a header and footer file
to the preprocessed sketch file.

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-12-12 13:57:47 +01:00
Florian Fleissner
6a5dbf1029 Blindly pull all plugins up to current 2019-12-06 14:01:02 +01:00
Florian Fleissner
e66dd18abc
Removed obsolete submodule Kaleidoscope-Hardware-Virtual
Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-12-05 12:03:31 -08:00
Florian Fleissner
3a666975e7
Removed superfluous -DKALEIDOSCOPE_HARDWARE_SPEC_H
...from the compiler command line

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-12-05 12:00:40 -08:00
Jesse Vincent
b7e68cf6f9
Blindly pull all plugins up to current 2019-12-05 11:21:56 -08:00
Jesse Vincent
8fe8470067
Blindly pull all plugins up to current 2019-12-05 11:13:27 -08:00
Florian Fleissner
da4c3e1b31 Blindly pull all plugins up to current 2019-12-05 16:44:00 +01:00
Jesse Vincent
dfd903f0be
Blindly pull all plugins up to current 2019-11-22 19:07:00 -08:00
Jesse Vincent
b318046373
Blindly pull all plugins up to current 2019-11-20 17:09:50 -08:00
Jesse Vincent
475659a6e3
Blindly pull all plugins up to current 2019-09-26 15:58:00 -07:00
Jesse Vincent
33348f4ad9
Starting to clean up the bootloader for the Atreus2 2019-09-26 15:56:27 -07:00
Jesse Vincent
03788138d8
Blindly pull all plugins up to current 2019-09-25 12:50:13 -07:00
Jesse Vincent
4e91963e28
Blindly pull all plugins up to current 2019-09-17 13:10:35 -07:00
Jesse Vincent
d21f5f5cfb
Rename the "Keyboardio Keyboards" section to "Kaleidoscope Keyboards" 2019-08-20 14:04:48 -07:00
Jesse Vincent
f2ae0e7cf8
Blindly pull all plugins up to current 2019-08-19 21:58:25 -07:00
Jesse Vincent
b354e5c67b Blindly pull all plugins up to current 2019-07-29 20:47:03 -07:00
Jesse Vincent
e204a8c6a9 Blindly pull all plugins up to current 2019-07-07 15:03:05 -07:00
Florian Fleissner
f95d9e5084 Partially fixed virtual builds
This commit re-enables virtual builds with the Model01 keyboard.

The commit also prepares the infrastructure to generate virtual builds with all other
keyboards currently supported.

Please note that this commit does not enable virtual builds of the stock firmware
right away. This is because currently the stock firmware uses the
Model01-Testmode which is not compatible with virtual builds.

The stock firmware could be made ready for virtual builds by replacing the
Model01-Testmode with the more general HardwareTestMode.

In general for those features/plugins that do not support virtual builds,
this commit adds the generation of compiler error messages
that inform about what parts of the sketch need to be changed to allow virtual
builds.

To allow the stock firmware to build for the virtual core, just remove the
Model01-TestMode, then run the build on a unixoid system as follows.

cd ..../libraries/Model01-Firmware
ARCH=x86 make

With this change, virtual builds are furtheron triggered via setting ARCH=x86.
The board that firmware is meant to be build for is defined through the
BOARD variable, just like with non-virtual builds.

Please note that it is currently not yet possible to run virtual builds for
other keyboards than the Model01. This as because only for the Model01
specification files Model01_Spec.h/cpp have been generated.

To enable virtual builds for all keyboards, specification files need to be
factored out for all keyboards apart from Model01.

After all keyboards will have been made available to virtual builds
through future changes, it will be possible to build the whole examples set
as

cd ..../libraries/Kaleidoscope
ARCH=x86 BOARD_HARDWARE_PATH=$PWD/../../../.. make smoke-examples

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-07-07 14:29:20 -07:00
Jesse Vincent
821e2d3cf2 Blindly pull all plugins up to current 2019-07-07 13:10:46 -07:00
Florian Fleissner
16db1529b7 Removed the redundant HID library
The two contained c++ files are almost identical to those
in KeyboardioHID.

The HID library is not used by the build. Checks prove that two
firmware binaries build with and without the library are identical.

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-06-19 22:36:42 +02:00
Florian Fleissner
af96c42cfa Blindly pull all plugins up to current 2019-06-17 11:06:27 +02:00
Florian Fleissner
6334f327fb Fixed build errors with follow up builds after a failed attempt to link
In rare occasions during development when e.g. a missing symbol caused
the linker process to abort, the joined library was not removed
at the end of the build. In subsequent builds this possibly
caused problems during creation of the joined library as a
static library cannot be updated but must be removed and re-created.

This change solves the described problem by removing a possibly
pre-exising joined library before the link.

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-06-11 12:38:37 +02:00
Florian Fleissner
e5b97afa48 Fix link order problems with inter-library/inter-plugin dependencies
Before this change, when Arduino was linking the elf binary, it added all
objects and archives (libraries/plugins) to a long linker command line.
This would sometimes cause issues due to the linker's gargabe collection feature.
When one library A referenced a symbol from a library B but library A appeared after B
in the linker command line, the referenced symbol was in some cases garbage
collected as to the linker it appeared to be unreferenced.

To understand this better it is important to know that the linker processes
objects and archives one by one in the order of their appearance at the command
line. For every object or archive encountered it runs garbage collection individually.
That's why symbols might get discarded although an object or archives that is
encountered later on while processing the linker command line might have referenced it.

To fix this problem this commit divides up the linker process into two steps.

First, all objects and archives are combined in a large .a archive. Then, this
archive is passed to the original linker command line, thereby replacing the
original set of objects and archives.

The final link now sees all symbols together. Thus, it is able to determine the true
interdependencies and do a proper garbage collection without accidentally
generating unresolved symbols.

With this fix, the order of appearance of include directives in the sketch file that formerly had an
influence on the link order (as Arduino passes library archives to the linker in
the order of the appearance of the matching includes in the sketch),
can now be savely chosen arbitrarily.

To erase the joined archive file that is generated from all objects and
archives, we have to use different solutions on Linux/macOS and Windows. This is
done via defining tools.rm.cmd differently for those platforms.

Signed-off-by: Florian Fleissner <florian.fleissner@inpartik.de>
2019-05-29 17:18:18 +02:00
Jesse Vincent
37fb442fc8 Blindly pull all plugins up to current 2019-05-20 10:14:28 -07:00
Jesse Vincent
f1f5745adb Blindly pull all plugins up to current 2019-05-08 23:11:52 -07:00
Jesse Vincent
afb37643b9 Blindly pull all plugins up to current 2019-05-08 20:21:00 -07:00
Jesse Vincent
c8c6856ec3 Initial support for a prototype of an Atreus with a couple extra keys 2019-05-08 20:14:28 -07:00
Jesse Vincent
65f8dc705b Blindly pull all plugins up to current 2019-03-04 14:48:24 -08:00
Jesse Vincent
47cb0db08d Blindly pull all plugins up to current 2019-03-03 22:34:01 -08:00
Jesse Vincent
7493d71957 Blindly pull all plugins up to current 2019-03-03 22:26:08 -08:00
Jesse Vincent
1b5e409ba1 Blindly pull all plugins up to current 2019-03-03 17:53:18 -08:00
Jesse Vincent
a285169afa Blindly pull all plugins up to current 2019-02-28 22:43:55 -08:00
Jesse Vincent
b30671b82a Update support for the prototype Imago PCBs with a default Caterina
bootloader
2019-02-28 12:30:18 -08:00
Jesse Vincent
390c237f6e Blindly pull all plugins up to current 2019-02-22 12:13:21 -08:00
Jesse Vincent
6028adee67 Blindly pull all plugins up to current 2019-02-16 13:32:03 -08:00
Jesse Vincent
27cbcaf568 Blindly pull all plugins up to current 2019-02-05 18:32:59 -08:00
Jesse Vincent
cedffc8416 Blindly pull all plugins up to current 2019-02-04 14:13:07 -08:00
Gergely Nagy
de83a4ce8a
Add KBDFans KBD4x
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2019-01-22 08:18:21 +01:00
Jesse Vincent
fbe335e1ff Blindly pull all plugins up to current 2018-12-23 21:03:01 -08:00
Jesse Vincent
1982f10c3d Blindly pull all plugins up to current 2018-12-18 13:46:27 -08:00
Gergely Nagy
b8e9a41e23
Drop the Kaleidoscope-Hardware library
The library is being superseded by a hardware base class in Kaleidoscope itself.
As it is not used anywhere, and served only documentation purposes, remove it.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2018-12-18 10:15:36 +01:00
Gergely Nagy
00c272df1a
Revert "model01: Use a modified CDC.cpp" 2018-12-16 17:41:43 +01:00
Gergely Nagy
029a5633a1
Merge pull request #7 from keyboardio/osx/cdc-slowing-down
model01: Use a modified CDC.cpp
2018-12-12 22:48:57 +01:00
Gergely Nagy
2d22949dd1
boards.txt: Add default extra_flags for Atreus
Not having a default means that arduino-builder will not use any extra flags.
With the default set to the same as the Post-2016 PCB (the most recent one), the
Atreus example in Kaleidoscope will compile again.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2018-12-08 18:53:07 +01:00
Gergely Nagy
de1e7e6d98
Add support for the SOFT/HRUF Splitography
As a side effect, this changes the dfu-programmer invocation in platform.txt for
all boards (Planck included) that use it.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2018-12-07 02:09:30 +01:00
Gergely Nagy
b65228cf6f
Update Kaleidoscope to latest master
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2018-12-05 08:14:02 +01:00