diff options
author | Alexsander Akers <me@a2.io> | 2022-01-25 15:03:22 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-25 15:03:22 -0500 |
commit | b8de35658ffd78ad8b22f91ccbbd3d63663afda9 (patch) | |
tree | 1f265ddfcc8e5abf0316b81b15f80bf5c70fa7b7 /watch-library/config/hpl_sercom_config.h | |
parent | 9e24f6c336773c7404139ab4db0eaab2f99504e2 (diff) | |
download | Sensor-Watch-b8de35658ffd78ad8b22f91ccbbd3d63663afda9.tar.gz Sensor-Watch-b8de35658ffd78ad8b22f91ccbbd3d63663afda9.tar.bz2 Sensor-Watch-b8de35658ffd78ad8b22f91ccbbd3d63663afda9.zip |
Sensor Watch Simulator (#35)
* Put something on screen
* Use the 32bit watch_date_time repr to pass from JS
* Implement periodic callbacks
* Clear display on enabling
* Hook up watch_set_led_color() to SVG (green-only)
* Make debug output full-width
* Remove default Emscripten canvas
* Implement sleep and button clicks
* Fix time zone conversion bug in beats-time app
* Clean up warnings
* Fix pin levels
* Set time zone to browser value (if available)
* Add basic backup data saving
* Silence format specifier warnings in both targets
* Remove unnecessary, copied files
* Use RTC pointer to clear callbacks (if available)
* Use preprocessor define to avoid hardcoding MOVEMENT_NUM_FACES
* Change each face to const preprocessor definition
* Remove Intl.DateTimeFormat usage
* Update shell.html title, header
* Add touch start/end event handlers on SVG buttons
* Update shell.html
* Update folder structure (shared, simulator, hardware under watch-library)
* Tease out shared components from watch_slcd
* Clean up simulator watch_slcd.c inline JS calls
* Fix missing newlines at end of file
* Add simulator warnings (except format, unused-paremter)
* Implement remaining watch_rtc functions
* Fix button bug on mouse down then drag out
* Implement remaining watch_slcd functions
* Link keyboard events to buttons (for keys A, L, M)
* Rewrite event handling (mouse, touch, keyboard) in C
* Set explicit text UTF-8 charset in shell.html
* Address PR comments
* Remove unused directories from include paths
Diffstat (limited to 'watch-library/config/hpl_sercom_config.h')
-rw-r--r-- | watch-library/config/hpl_sercom_config.h | 303 |
1 files changed, 0 insertions, 303 deletions
diff --git a/watch-library/config/hpl_sercom_config.h b/watch-library/config/hpl_sercom_config.h deleted file mode 100644 index 6df4b08e..00000000 --- a/watch-library/config/hpl_sercom_config.h +++ /dev/null @@ -1,303 +0,0 @@ -/* Auto-generated config file hpl_sercom_config.h */ -#ifndef HPL_SERCOM_CONFIG_H -#define HPL_SERCOM_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -#include <peripheral_clk_config.h> - -#ifndef SERCOM_I2CM_CTRLA_MODE_I2C_MASTER -#define SERCOM_I2CM_CTRLA_MODE_I2C_MASTER (5 << 2) -#endif - -#ifndef CONF_SERCOM_1_I2CM_ENABLE -#define CONF_SERCOM_1_I2CM_ENABLE 1 -#endif - -// <h> Basic - -// <o> I2C Bus clock speed (Hz) <1-400000> -// <i> I2C Bus clock (SCL) speed measured in Hz -// <id> i2c_master_baud_rate -#ifndef CONF_SERCOM_1_I2CM_BAUD -#define CONF_SERCOM_1_I2CM_BAUD 100000 -#endif - -// </h> - -// <e> Advanced -// <id> i2c_master_advanced -#ifndef CONF_SERCOM_1_I2CM_ADVANCED_CONFIG -#define CONF_SERCOM_1_I2CM_ADVANCED_CONFIG 0 -#endif - -// <o> TRise (ns) <0-300> -// <i> Determined by the bus impedance, check electric characteristics in the datasheet -// <i> Standard Fast Mode: typical 215ns, max 300ns -// <i> Fast Mode +: typical 60ns, max 100ns -// <i> High Speed Mode: typical 20ns, max 40ns -// <id> i2c_master_arch_trise - -#ifndef CONF_SERCOM_1_I2CM_TRISE -#define CONF_SERCOM_1_I2CM_TRISE 215 -#endif - -// <q> Master SCL Low Extended Time-Out (MEXTTOEN) -// <i> This enables the master SCL low extend time-out -// <id> i2c_master_arch_mexttoen -#ifndef CONF_SERCOM_1_I2CM_MEXTTOEN -#define CONF_SERCOM_1_I2CM_MEXTTOEN 0 -#endif - -// <q> Slave SCL Low Extend Time-Out (SEXTTOEN) -// <i> Enables the slave SCL low extend time-out. If SCL is cumulatively held low for greater than 25ms from the initial START to a STOP, the slave will release its clock hold if enabled and reset the internal state machine -// <id> i2c_master_arch_sexttoen -#ifndef CONF_SERCOM_1_I2CM_SEXTTOEN -#define CONF_SERCOM_1_I2CM_SEXTTOEN 0 -#endif - -// <q> SCL Low Time-Out (LOWTOUT) -// <i> Enables SCL low time-out. If SCL is held low for 25ms-35ms, the master will release it's clock hold -// <id> i2c_master_arch_lowtout -#ifndef CONF_SERCOM_1_I2CM_LOWTOUT -#define CONF_SERCOM_1_I2CM_LOWTOUT 0 -#endif - -// <o> Inactive Time-Out (INACTOUT) -// <0x0=>Disabled -// <0x1=>5-6 SCL cycle time-out(50-60us) -// <0x2=>10-11 SCL cycle time-out(100-110us) -// <0x3=>20-21 SCL cycle time-out(200-210us) -// <i> Defines if inactivity time-out should be enabled, and how long the time-out should be -// <id> i2c_master_arch_inactout -#ifndef CONF_SERCOM_1_I2CM_INACTOUT -#define CONF_SERCOM_1_I2CM_INACTOUT 0x0 -#endif - -// <o> SDA Hold Time (SDAHOLD) -// <0=>Disabled -// <1=>50-100ns hold time -// <2=>300-600ns hold time -// <3=>400-800ns hold time -// <i> Defines the SDA hold time with respect to the negative edge of SCL -// <id> i2c_master_arch_sdahold -#ifndef CONF_SERCOM_1_I2CM_SDAHOLD -#define CONF_SERCOM_1_I2CM_SDAHOLD 0x2 -#endif - -// <q> Run in stand-by -// <i> Determine if the module shall run in standby sleep mode -// <id> i2c_master_arch_runstdby -#ifndef CONF_SERCOM_1_I2CM_RUNSTDBY -#define CONF_SERCOM_1_I2CM_RUNSTDBY 0 -#endif - -// <o> Debug Stop Mode -// <i> Behavior of the baud-rate generator when CPU is halted by external debugger. -// <0=>Keep running -// <1=>Halt -// <id> i2c_master_arch_dbgstop -#ifndef CONF_SERCOM_1_I2CM_DEBUG_STOP_MODE -#define CONF_SERCOM_1_I2CM_DEBUG_STOP_MODE 0 -#endif - -// </e> - -#ifndef CONF_SERCOM_1_I2CM_SPEED -#define CONF_SERCOM_1_I2CM_SPEED 0x00 // Speed: Standard/Fast mode -#endif -#if CONF_SERCOM_1_I2CM_TRISE < 215 || CONF_SERCOM_1_I2CM_TRISE > 300 -#warning Bad I2C Rise time for Standard/Fast mode, reset to 215ns -#undef CONF_SERCOM_1_I2CM_TRISE -#define CONF_SERCOM_1_I2CM_TRISE 215U -#endif - -// gclk_freq - (i2c_scl_freq * 10) - (gclk_freq * i2c_scl_freq * Trise) -// BAUD + BAUDLOW = -------------------------------------------------------------------- -// i2c_scl_freq -// BAUD: register value low [7:0] -// BAUDLOW: register value high [15:8], only used for odd BAUD + BAUDLOW -#define CONF_SERCOM_1_I2CM_BAUD_BAUDLOW \ - (((CONF_GCLK_SERCOM1_CORE_FREQUENCY - (CONF_SERCOM_1_I2CM_BAUD * 10U) \ - - (CONF_SERCOM_1_I2CM_TRISE * (CONF_SERCOM_1_I2CM_BAUD / 100U) * (CONF_GCLK_SERCOM1_CORE_FREQUENCY / 10000U) \ - / 1000U)) \ - * 10U \ - + 5U) \ - / (CONF_SERCOM_1_I2CM_BAUD * 10U)) -#ifndef CONF_SERCOM_1_I2CM_BAUD_RATE -#if CONF_SERCOM_1_I2CM_BAUD_BAUDLOW > (0xFF * 2) -#warning Requested I2C baudrate too low, please check -#define CONF_SERCOM_1_I2CM_BAUD_RATE 0xFF -#elif CONF_SERCOM_1_I2CM_BAUD_BAUDLOW <= 1 -#warning Requested I2C baudrate too high, please check -#define CONF_SERCOM_1_I2CM_BAUD_RATE 1 -#else -#define CONF_SERCOM_1_I2CM_BAUD_RATE \ - ((CONF_SERCOM_1_I2CM_BAUD_BAUDLOW & 0x1) \ - ? (CONF_SERCOM_1_I2CM_BAUD_BAUDLOW / 2) + ((CONF_SERCOM_1_I2CM_BAUD_BAUDLOW / 2 + 1) << 8) \ - : (CONF_SERCOM_1_I2CM_BAUD_BAUDLOW / 2)) -#endif -#endif - -#include <peripheral_clk_config.h> - -// Enable configuration of module -#ifndef CONF_SERCOM_3_SPI_ENABLE -#define CONF_SERCOM_3_SPI_ENABLE 1 -#endif - -// Set module in SPI Master mode -#ifndef CONF_SERCOM_3_SPI_MODE -#define CONF_SERCOM_3_SPI_MODE 0x03 -#endif - -// <h> Basic Configuration - -// <q> Receive buffer enable -// <i> Enable receive buffer to receive data from slave (RXEN) -// <id> spi_master_rx_enable -#ifndef CONF_SERCOM_3_SPI_RXEN -#define CONF_SERCOM_3_SPI_RXEN 0x1 -#endif - -// <o> Character Size -// <i> Bit size for all characters sent over the SPI bus (CHSIZE) -// <0x0=>8 bits -// <0x1=>9 bits -// <id> spi_master_character_size -#ifndef CONF_SERCOM_3_SPI_CHSIZE -#define CONF_SERCOM_3_SPI_CHSIZE 0x0 -#endif -// <o> Baud rate <1-12000000> -// <i> The SPI data transfer rate -// <id> spi_master_baud_rate -#ifndef CONF_SERCOM_3_SPI_BAUD -#define CONF_SERCOM_3_SPI_BAUD 50000 -#endif - -// </h> - -// <e> Advanced Configuration -// <id> spi_master_advanced -#ifndef CONF_SERCOM_3_SPI_ADVANCED -#define CONF_SERCOM_3_SPI_ADVANCED 1 -#endif - -// <o> Dummy byte <0x00-0x1ff> -// <id> spi_master_dummybyte -// <i> Dummy byte used when reading data from the slave without sending any data -#ifndef CONF_SERCOM_3_SPI_DUMMYBYTE -#define CONF_SERCOM_3_SPI_DUMMYBYTE 0x1ff -#endif - -// <o> Data Order -// <0=>MSB first -// <1=>LSB first -// <i> I least significant or most significant bit is shifted out first (DORD) -// <id> spi_master_arch_dord -#ifndef CONF_SERCOM_3_SPI_DORD -#define CONF_SERCOM_3_SPI_DORD 0x0 -#endif - -// <o> Clock Polarity -// <0=>SCK is low when idle -// <1=>SCK is high when idle -// <i> Determines if the leading edge is rising or falling with a corresponding opposite edge at the trailing edge. (CPOL) -// <id> spi_master_arch_cpol -#ifndef CONF_SERCOM_3_SPI_CPOL -#define CONF_SERCOM_3_SPI_CPOL 0x0 -#endif - -// <o> Clock Phase -// <0x0=>Sample input on leading edge -// <0x1=>Sample input on trailing edge -// <i> Determines if input data is sampled on leading or trailing SCK edge. (CPHA) -// <id> spi_master_arch_cpha -#ifndef CONF_SERCOM_3_SPI_CPHA -#define CONF_SERCOM_3_SPI_CPHA 0x0 -#endif - -// <o> Immediate Buffer Overflow Notification -// <i> Controls when OVF is asserted (IBON) -// <0x0=>In data stream -// <0x1=>On buffer overflow -// <id> spi_master_arch_ibon -#ifndef CONF_SERCOM_3_SPI_IBON -#define CONF_SERCOM_3_SPI_IBON 0x0 -#endif - -// <q> Run in stand-by -// <i> Module stays active in stand-by sleep mode. (RUNSTDBY) -// <id> spi_master_arch_runstdby -#ifndef CONF_SERCOM_3_SPI_RUNSTDBY -#define CONF_SERCOM_3_SPI_RUNSTDBY 0x0 -#endif - -// <o> Debug Stop Mode -// <i> Behavior of the baud-rate generator when CPU is halted by external debugger. (DBGSTOP) -// <0=>Keep running -// <1=>Halt -// <id> spi_master_arch_dbgstop -#ifndef CONF_SERCOM_3_SPI_DBGSTOP -#define CONF_SERCOM_3_SPI_DBGSTOP 0 -#endif - -// </e> - -// Address mode disabled in master mode -#ifndef CONF_SERCOM_3_SPI_AMODE_EN -#define CONF_SERCOM_3_SPI_AMODE_EN 0 -#endif - -#ifndef CONF_SERCOM_3_SPI_AMODE -#define CONF_SERCOM_3_SPI_AMODE 0 -#endif - -#ifndef CONF_SERCOM_3_SPI_ADDR -#define CONF_SERCOM_3_SPI_ADDR 0 -#endif - -#ifndef CONF_SERCOM_3_SPI_ADDRMASK -#define CONF_SERCOM_3_SPI_ADDRMASK 0 -#endif - -#ifndef CONF_SERCOM_3_SPI_SSDE -#define CONF_SERCOM_3_SPI_SSDE 0 -#endif - -#ifndef CONF_SERCOM_3_SPI_MSSEN -#define CONF_SERCOM_3_SPI_MSSEN 0x0 -#endif - -#ifndef CONF_SERCOM_3_SPI_PLOADEN -#define CONF_SERCOM_3_SPI_PLOADEN 0 -#endif - -// <o> Receive Data Pinout -// <0x0=>PAD[0] -// <0x1=>PAD[1] -// <0x2=>PAD[2] -// <0x3=>PAD[3] -// <id> spi_master_rxpo -#ifndef CONF_SERCOM_3_SPI_RXPO -#define CONF_SERCOM_3_SPI_RXPO 2 -#endif - -// <o> Transmit Data Pinout -// <0x0=>PAD[0,1]_DO_SCK -// <0x1=>PAD[2,3]_DO_SCK -// <0x2=>PAD[3,1]_DO_SCK -// <0x3=>PAD[0,3]_DO_SCK -// <id> spi_master_txpo -#ifndef CONF_SERCOM_3_SPI_TXPO -#define CONF_SERCOM_3_SPI_TXPO 3 -#endif - -// Calculate baud register value from requested baudrate value -#ifndef CONF_SERCOM_3_SPI_BAUD_RATE -#define CONF_SERCOM_3_SPI_BAUD_RATE ((float)CONF_GCLK_SERCOM3_CORE_FREQUENCY / (float)(2 * CONF_SERCOM_3_SPI_BAUD)) - 1 -#endif - -// <<< end of configuration section >>> - -#endif // HPL_SERCOM_CONFIG_H |