Commit Graph

52 Commits

Author SHA1 Message Date
Léa Saviot
555ced4941 [usb] If needed, reset the device inside Calculator::Poll
Change-Id: I2d9e2eef4e04b1042a2524a4267569324ad8bcce
2018-04-11 15:40:41 +02:00
Léa Saviot
b807938031 [ion] Add EPSILON_DEVICE_BENCH
Change-Id: I58de053755305fc610c410a139572f2d0eee2a2d
2018-04-09 10:52:32 +02:00
Léa Saviot
55d56b3927 [usb] Send real serial number in the device descriptor.
Change-Id: Ie64f2a0fb03913600c96986dab8171afaa6bf05b
2018-04-06 14:31:49 +02:00
Léa Saviot
d753e6e781 [ion] Move Ion::reset to Ion::Device::core/jumpReset
Change-Id: I3032c3e1b9a8f944cd321670c7be6586ba6d973b
2018-04-06 14:31:48 +02:00
Romain Goyet
c89055d4ad Preliminary work on the OTG registers
Change-Id: I39e9c79538d17ea76d5484083d87a52b9bdc34e0
2018-04-06 14:31:44 +02:00
Romain Goyet
d4d4cd359b Use the high-speed external oscillator
This is required to feed the USB controller an accurate 48 MHz clock.

Change-Id: If3b4490c931c18e1b917b3569ece1adec870477a
2018-04-06 14:31:44 +02:00
Romain Goyet
5c86a07481 [ion] Add the ability to perform a jump-reset 2018-04-04 10:38:52 +02:00
Damien Nicolet
a2c5e0b7f7 Full interrupt vector table definition, more registers and correct memory remap & vector table register after bootloader exit 2018-03-13 11:40:04 +01:00
Émilie Feral
a8dc17a6cf [ion] Add TODO on implementations of usleep msleep 2018-01-22 15:32:59 +01:00
Émilie Feral
7993f7e906 [ion] Re-calibrate the delay methods (msleep and usleep) following the
increase of performance due to the instruction and data cache
2018-01-22 15:32:59 +01:00
Émilie Feral
d8963e33e3 [ion] Enable flash instructions fetching 2017-12-07 09:26:23 +01:00
Damien Nicolet
845337a042 Enable instruction and data cache 2017-12-06 18:39:09 +01:00
Jacob Young
4e6f673c03 Fix hex conversion for digits > 9. 2017-08-31 21:14:18 -04:00
Romain Goyet
be7b20e5a0 Proper letter ordering in the serial number
Change-Id: Ief7fbd7c4a80025831b2af21a970130dd31bfddd
2017-06-21 18:18:52 +02:00
Émilie Feral
94b6ad3488 [ion] In suspend, force the state of LED to avoid using a timer
Change-Id: I9565e278d99e3164faa03a65e7831e5e316b1542
2017-04-13 12:06:38 +02:00
Émilie Feral
c632f7c5ee [ion] Improve suspend implementation
Change-Id: Ic43b58f34379292c53a82ab6c85674c6f7a9b381
2017-04-13 12:06:37 +02:00
Émilie Feral
9467e6a23f [ion] In device, create a method to init clocks in standby
Change-Id: If536a7b943095c87b51a85dc1fb5c1ea9229088b
2017-04-12 09:37:49 +02:00
Émilie Feral
6c7a70e046 [ion] In device shutdown, enable LED persisting
Change-Id: Id65e8d8b488c2be3076d33a32ed6b052fbe7fcd1
2017-04-12 09:37:49 +02:00
Romain Goyet
37647d8537 [ion/device] Use DMA to send pixel data to the LCD controller
Change-Id: Ia607f18c6a7f57fb28cf9febe30f05d19e7b3e59
2017-04-10 15:29:24 +02:00
Émilie Feral
cebd5f69ed Merge commit 'refs/changes/64/1864/1' of ssh://git.numworks.com/CalcOS
Change-Id: I596a0df552272eaeab707170e1da0dbee9e8d1d4
2017-04-10 10:39:30 +02:00
Émilie Feral
3261701d2d [ion] Add a method to know if the USB is plugged
Change-Id: I040ce7996bbec121c71d57a5092ffae4f5f76025
2017-04-07 14:40:34 +02:00
Romain Goyet
c709d161af [ion/device] Proper ordering of console init and bench launch
Change-Id: Ic43ee84e2b2024a10d6704835736535b3d952f0c
2017-04-06 10:14:59 +02:00
Émilie Feral
6c2dabe7cc [ion] Enable/disable FSMC clock with all clocks
Change-Id: I541532b1803181109d788dd943a6384b3b09db63
2017-04-04 16:26:25 +02:00
Émilie Feral
7091b2ea35 [ion] Add software version, patch level and serial number
Change-Id: I011eeb2d8596f63e0c2fdedf353d544dc8a8a202
2017-04-04 14:18:11 +02:00
Romain Goyet
a58430e885 [ion] Calibrate the delay loops for the 96 MHz clock
Change-Id: I991d994c5c347c7d90a09b1daa2c2f3ca67dd1a1
2017-03-29 15:18:45 +02:00
Romain Goyet
311a6f985d [ion/device] Stop APB1
Change-Id: Icf84297e4c1539628c45804a8abf69e16117c294
2017-03-15 17:18:20 +01:00
Romain Goyet
4fde3a5304 [ion/device] Put all GPIOs except SWD as Analog/NoPuPd by default
Change-Id: I1c2874e0eceb5ea6fc7f98d91db9b6a454859bdd
2017-03-15 17:17:22 +01:00
Romain Goyet
1fc8e8ebd0 [ion/device] SWD powersave
Change-Id: I0550907f649829a4873ae2ffe8076f2c7132abc0
2017-03-15 16:16:43 +01:00
Romain Goyet
0cbc2cbaa2 GPIO power save should be mostly done by now
Change-Id: Ic4c5b8571cb3c95ef2347b1b1b387edab3aa3443
2017-03-15 16:16:13 +01:00
Romain Goyet
54a941b160 [ion/device] Always run at 96 MHz
Change-Id: I49588bdaae926cc5342f153ca8bbcc3dd1f29017
2017-03-15 16:14:13 +01:00
Romain Goyet
7b575a204b Merge changes I4d59900f,Ifd3d4c6b,I485bd67f,Ib2dd1d91,I29085da3, ...
* changes:
  [ion/device] Fix building console.o
  [apps/hwtest] Add CHARGE and KEYBOARD commands to lowlevel test
  [apps/hwtest] Proper MCU_SERIAL command
  [ion] Add a Ion::serialNumber function
  [apps/hwtest] Add ADC and BACKLIGHT commands to the lowlevel test
  [ion/device] Use the proper ADC channel
  [ion] Add a console facility
  [apps/hwtest] Blink the LED from the lowlevel test
  [apps/hwtest] The lowlevel test uses the UART
  [ion/device] Add USART register
  [apps] Add a lowlevel test app
  [ion/device] Add SPI registers
2017-03-07 10:15:55 +01:00
Romain Goyet
eaeed82eea [ion] Add a Ion::serialNumber function
Change-Id: Ib2dd1d9187936f5c044bbcbc21dc7164fe6e9822
2017-02-28 18:56:04 +01:00
Romain Goyet
bca8a6fd86 [ion] Add a console facility
Change-Id: I34b406ae8589fdd2a5d6b826b34ac411359b58dc
2017-02-27 14:13:19 +01:00
Romain Goyet
809fd8a17a [ion] Ion::random()
Change-Id: Ib85055ab3b4bf3dfce991f9990659c744be20f39
2017-02-20 16:14:48 +01:00
Romain Goyet
bd220b2cd7 [ion/device] Minimal clock setup to enable RNG
Change-Id: I01ad7dfdb25f00b918263459660544f24d480257
2017-02-20 13:33:14 +01:00
Romain Goyet
caea1fe4cb [ion] Set all GPIOs to analog/non-pulled in release mode
Change-Id: Ie7dedc1089b0023a124af04a4d016cc9a843e28b
2017-01-25 10:55:22 +01:00
Romain Goyet
895b312b51 [ion] Enable deep sleep
Change-Id: I0abba2d6ffcc2fff09facb6f5f01aa2d72451aa0
2017-01-25 10:27:48 +01:00
Romain Goyet
267e470d36 [ion] Cleaner init/shutdown mechanism
Change-Id: Ied611edff2ada3634acccb509d21958a4350ed19
2017-01-24 17:35:28 +01:00
Romain Goyet
025405d01d [ion] Add Ion::crc32
Takes only 32bit values. Uses non-reversed data/input

Change-Id: I8a776064af69047f7a8fa1399cf8a484f42b9b18
2017-01-06 17:22:29 +01:00
Romain Goyet
c1db79b5f9 [ion] Add a backlight namespace
Change-Id: I0b9ec9a1b342d4b949776f0303eca69a28d1de91
2017-01-05 16:00:10 +01:00
Romain Goyet
9b2fecfb12 [ion] Add Ion::usleep
Change-Id: Ife70133410e55c3f0af9a838543042a3da618119
2017-01-05 16:00:01 +01:00
Émilie Feral
548ac8902e [ion] Init FPU before calling static object contructors
Change-Id: I4e29825183f8014b237b213452914764f9df8d62
2016-12-09 11:01:43 +01:00
Romain Goyet
ca78e007cf [ion/device] SD card initialization
Change-Id: I178f8be7063c86a400e968f85988f34469c4acd5
2016-11-24 18:37:40 +01:00
Romain Goyet
23f41e1b89 [ion/device] Migrate to 16-bits FSMC
Change-Id: I27af3425b631900b4d6041a4f890847e07808de6
2016-11-07 17:09:59 +01:00
Romain Goyet
6077a72ae3 [ion] Provision to clock the CPU at 96 MHz
Change-Id: I397ff23941dfff3ea3c2e217c0fb1ba242326cfb
2016-09-28 15:44:20 +02:00
Romain Goyet
99a4e3de91 [ion] Enable suspend/resume
Change-Id: I1fe580de7f98b95c768416ca889a7d74dad851ca
2016-08-31 17:07:41 +02:00
Romain Goyet
19c484640f [ion] Measure the battery voltage
Change-Id: Ic3c05eb65e2db3a66f2d2413821a0c121facd98f
2016-08-29 16:55:48 +02:00
Romain Goyet
55ce65be9c [ion] Set the backlight on boot
Change-Id: Ifdb7a14ff4667633b6aed85fc61b88dd4467b3bf
2016-08-29 13:38:06 +02:00
Romain Goyet
831c42796b [ion] Add battery-related functions
Change-Id: Ib63b48140a8347d0d07902d956a3685fb040c481
2016-08-29 13:25:14 +02:00
Romain Goyet
457b7215fd [Ion] Enable setting the LED's color
Change-Id: Ib3e25be8d180f9d19ad3a0d0861b210d8a702194
2016-08-23 17:29:07 +02:00