Add flint support

This commit is contained in:
Stasia Michalska
2025-12-13 00:53:33 +01:00
parent b55a4c6c61
commit 078186cd25
5 changed files with 65 additions and 10 deletions
+21 -2
View File
@@ -35,6 +35,9 @@ gulp.task('clean-js', function() {
return del(['tmp/config-page.js']); return del(['tmp/config-page.js']);
}); });
/**
* @returns {string}
*/
function taskJs() { function taskJs() {
return browserify('src/scripts/config-page.js', { debug: true }) return browserify('src/scripts/config-page.js', { debug: true })
.transform('deamdify') .transform('deamdify')
@@ -49,8 +52,12 @@ gulp.task('clean-sass', function() {
return del(['tmp/config-page.scss']); return del(['tmp/config-page.scss']);
}); });
/**
* @returns {string}
*/
function taskSass() { function taskSass() {
return gulp.src(['./src/styles/config-page.scss', './src/styles/clay/components/*.scss']) return gulp.src(['./src/styles/config-page.scss',
'./src/styles/clay/components/*.scss'])
.pipe(sourceMaps.init()) .pipe(sourceMaps.init())
.pipe(sass({ .pipe(sass({
loadPaths: sassIncludePaths loadPaths: sassIncludePaths
@@ -62,6 +69,9 @@ function taskSass() {
gulp.task('sass', gulp.series('clean-sass', taskSass)); gulp.task('sass', gulp.series('clean-sass', taskSass));
/**
* @returns {string}
*/
function taskInlineHtml() { function taskInlineHtml() {
return gulp.src('src/config-page.html') return gulp.src('src/config-page.html')
.pipe(inline()) .pipe(inline())
@@ -79,6 +89,9 @@ function taskInlineHtml() {
gulp.task('inlineHtml', gulp.series('js', 'sass', taskInlineHtml)); gulp.task('inlineHtml', gulp.series('js', 'sass', taskInlineHtml));
/**
* @returns {string}
*/
function taskClay() { function taskClay() {
return browserify('index.js', { return browserify('index.js', {
debug: false, debug: false,
@@ -86,7 +99,7 @@ function taskClay() {
}) })
.transform('deamdify') .transform('deamdify')
.transform(stringify(stringifyOptions)) .transform(stringify(stringifyOptions))
//.transform(autoprefixify, autoprefixerOptions) // .transform(autoprefixify, autoprefixerOptions)
.require(require.resolve('./index'), {expose: clayPackage.name}) .require(require.resolve('./index'), {expose: clayPackage.name})
.exclude('message_keys') .exclude('message_keys')
.bundle() .bundle()
@@ -101,6 +114,9 @@ function taskClay() {
gulp.task('clay', gulp.series('inlineHtml', taskClay)); gulp.task('clay', gulp.series('inlineHtml', taskClay));
/**
* @returns {string}
*/
function taskDevJs() { function taskDevJs() {
return browserify('dev/dev.js', { debug: true }) return browserify('dev/dev.js', { debug: true })
.transform(stringify(stringifyOptions)) .transform(stringify(stringifyOptions))
@@ -116,6 +132,9 @@ gulp.task('dev-js', gulp.series('js', 'sass', taskDevJs));
gulp.task('default', gulp.series('clay')); gulp.task('default', gulp.series('clay'));
/**
* @returns {string}
*/
function taskDev() { function taskDev() {
gulp.watch('src/styles/**/*.scss', ['sass']); gulp.watch('src/styles/**/*.scss', ['sass']);
gulp.watch(['src/scripts/**/*.js', 'src/templates/**/*.tpl'], ['js']); gulp.watch(['src/scripts/**/*.js', 'src/templates/**/*.tpl'], ['js']);
+2 -1
View File
@@ -36,7 +36,8 @@
"basalt", "basalt",
"chalk", "chalk",
"diorite", "diorite",
"emery" "emery",
"flint"
], ],
"resources": { "resources": {
"media": [] "media": []
+3 -2
View File
@@ -114,14 +114,15 @@ module.exports = {
* @returns {Array} * @returns {Array}
*/ */
function autoLayout() { function autoLayout() {
const bwWatches = ['aplite', 'diorite', 'flint'];
if (!clay.meta.activeWatchInfo || if (!clay.meta.activeWatchInfo ||
clay.meta.activeWatchInfo.firmware.major === 2 || clay.meta.activeWatchInfo.firmware.major === 2 ||
['aplite', 'diorite'].indexOf(clay.meta.activeWatchInfo.platform) > -1 && bwWatches.indexOf(clay.meta.activeWatchInfo.platform) > -1 &&
!self.config.allowGray) { !self.config.allowGray) {
return standardLayouts.BLACK_WHITE; return standardLayouts.BLACK_WHITE;
} }
if (['aplite', 'diorite'].indexOf(clay.meta.activeWatchInfo.platform) > -1 && if (bwWatches.indexOf(clay.meta.activeWatchInfo.platform) > -1 &&
self.config.allowGray) { self.config.allowGray) {
return standardLayouts.GRAY; return standardLayouts.GRAY;
} }
+10 -5
View File
@@ -44,8 +44,13 @@ module.exports.capabilityMap = {
minFwMajor: 0, minFwMajor: 0,
minFwMinor: 0 minFwMinor: 0
}, },
PLATFORM_FLINT: {
platforms: ['flint'],
minFwMajor: 0,
minFwMinor: 0
},
BW: { BW: {
platforms: ['aplite', 'diorite'], platforms: ['aplite', 'diorite', 'flint'],
minFwMajor: 0, minFwMajor: 0,
minFwMinor: 0 minFwMinor: 0
}, },
@@ -55,7 +60,7 @@ module.exports.capabilityMap = {
minFwMinor: 0 minFwMinor: 0
}, },
MICROPHONE: { MICROPHONE: {
platforms: ['basalt', 'chalk', 'diorite', 'emery'], platforms: ['basalt', 'chalk', 'diorite', 'emery', 'flint'],
minFwMajor: 0, minFwMajor: 0,
minFwMinor: 0 minFwMinor: 0
}, },
@@ -70,12 +75,12 @@ module.exports.capabilityMap = {
minFwMinor: 4 minFwMinor: 4
}, },
HEALTH: { HEALTH: {
platforms: ['basalt', 'chalk', 'diorite', 'emery'], platforms: ['basalt', 'chalk', 'diorite', 'emery', 'flint'],
minFwMajor: 3, minFwMajor: 3,
minFwMinor: 10 minFwMinor: 10
}, },
RECT: { RECT: {
platforms: ['aplite', 'basalt', 'diorite', 'emery'], platforms: ['aplite', 'basalt', 'diorite', 'emery', 'flint'],
minFwMajor: 0, minFwMajor: 0,
minFwMinor: 0 minFwMinor: 0
}, },
@@ -85,7 +90,7 @@ module.exports.capabilityMap = {
minFwMinor: 0 minFwMinor: 0
}, },
DISPLAY_144x168: { DISPLAY_144x168: {
platforms: ['aplite', 'basalt', 'diorite'], platforms: ['aplite', 'basalt', 'diorite', 'flint'],
minFwMajor: 0, minFwMajor: 0,
minFwMinor: 0 minFwMinor: 0
}, },
+29
View File
@@ -92,6 +92,7 @@ describe('ClayConfig', function() {
testCapabilities('aplite', 2, 9, ['PLATFORM_CHALK'], 0); testCapabilities('aplite', 2, 9, ['PLATFORM_CHALK'], 0);
testCapabilities('aplite', 2, 9, ['PLATFORM_DIORITE'], 0); testCapabilities('aplite', 2, 9, ['PLATFORM_DIORITE'], 0);
testCapabilities('aplite', 2, 9, ['PLATFORM_EMERY'], 0); testCapabilities('aplite', 2, 9, ['PLATFORM_EMERY'], 0);
testCapabilities('aplite', 2, 9, ['PLATFORM_FLINT'], 0);
testCapabilities('aplite', 3, 10, ['BW'], 1); testCapabilities('aplite', 3, 10, ['BW'], 1);
testCapabilities('aplite', 3, 10, ['COLOR'], 0); testCapabilities('aplite', 3, 10, ['COLOR'], 0);
@@ -112,6 +113,7 @@ describe('ClayConfig', function() {
testCapabilities('aplite', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('aplite', 3, 10, ['PLATFORM_CHALK'], 0);
testCapabilities('aplite', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('aplite', 3, 10, ['PLATFORM_DIORITE'], 0);
testCapabilities('aplite', 3, 10, ['PLATFORM_EMERY'], 0); testCapabilities('aplite', 3, 10, ['PLATFORM_EMERY'], 0);
testCapabilities('aplite', 3, 10, ['PLATFORM_FLINT'], 0);
testCapabilities('basalt', 3, 10, ['BW'], 0); testCapabilities('basalt', 3, 10, ['BW'], 0);
testCapabilities('basalt', 3, 10, ['COLOR'], 1); testCapabilities('basalt', 3, 10, ['COLOR'], 1);
@@ -134,6 +136,7 @@ describe('ClayConfig', function() {
testCapabilities('basalt', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('basalt', 3, 10, ['PLATFORM_CHALK'], 0);
testCapabilities('basalt', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('basalt', 3, 10, ['PLATFORM_DIORITE'], 0);
testCapabilities('basalt', 3, 10, ['PLATFORM_EMERY'], 0); testCapabilities('basalt', 3, 10, ['PLATFORM_EMERY'], 0);
testCapabilities('basalt', 3, 10, ['PLATFORM_FLINT'], 0);
testCapabilities('chalk', 3, 10, ['BW'], 0); testCapabilities('chalk', 3, 10, ['BW'], 0);
testCapabilities('chalk', 3, 10, ['COLOR'], 1); testCapabilities('chalk', 3, 10, ['COLOR'], 1);
@@ -156,6 +159,7 @@ describe('ClayConfig', function() {
testCapabilities('chalk', 3, 10, ['PLATFORM_CHALK'], 1); testCapabilities('chalk', 3, 10, ['PLATFORM_CHALK'], 1);
testCapabilities('chalk', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('chalk', 3, 10, ['PLATFORM_DIORITE'], 0);
testCapabilities('chalk', 3, 10, ['PLATFORM_EMERY'], 0); testCapabilities('chalk', 3, 10, ['PLATFORM_EMERY'], 0);
testCapabilities('chalk', 3, 10, ['PLATFORM_FLINT'], 0);
testCapabilities('diorite', 3, 10, ['BW'], 1); testCapabilities('diorite', 3, 10, ['BW'], 1);
testCapabilities('diorite', 3, 10, ['COLOR'], 0); testCapabilities('diorite', 3, 10, ['COLOR'], 0);
@@ -178,6 +182,7 @@ describe('ClayConfig', function() {
testCapabilities('diorite', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('diorite', 3, 10, ['PLATFORM_CHALK'], 0);
testCapabilities('diorite', 3, 10, ['PLATFORM_DIORITE'], 1); testCapabilities('diorite', 3, 10, ['PLATFORM_DIORITE'], 1);
testCapabilities('diorite', 3, 10, ['PLATFORM_EMERY'], 0); testCapabilities('diorite', 3, 10, ['PLATFORM_EMERY'], 0);
testCapabilities('diorite', 3, 10, ['PLATFORM_FLINT'], 0);
testCapabilities('emery', 3, 10, ['BW'], 0); testCapabilities('emery', 3, 10, ['BW'], 0);
testCapabilities('emery', 3, 10, ['COLOR'], 1); testCapabilities('emery', 3, 10, ['COLOR'], 1);
@@ -200,6 +205,30 @@ describe('ClayConfig', function() {
testCapabilities('emery', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('emery', 3, 10, ['PLATFORM_CHALK'], 0);
testCapabilities('emery', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('emery', 3, 10, ['PLATFORM_DIORITE'], 0);
testCapabilities('emery', 3, 10, ['PLATFORM_EMERY'], 1); testCapabilities('emery', 3, 10, ['PLATFORM_EMERY'], 1);
testCapabilities('emery', 3, 10, ['PLATFORM_FLINT'], 0);
testCapabilities('flint', 3, 10, ['BW'], 1);
testCapabilities('flint', 3, 10, ['COLOR'], 0);
testCapabilities('flint', 3, 10, ['MICROPHONE'], 1);
testCapabilities('flint', 3, 10, ['SMARTSTRAP'], 0);
testCapabilities('flint', 3, 4, ['SMARTSTRAP'], 0);
testCapabilities('flint', 3, 3, ['SMARTSTRAP'], 0);
testCapabilities('flint', 3, 10, ['SMARTSTRAP_POWER'], 0);
testCapabilities('flint', 3, 4, ['SMARTSTRAP_POWER'], 0);
testCapabilities('flint', 3, 3, ['SMARTSTRAP_POWER'], 0);
testCapabilities('flint', 3, 10, ['HEALTH'], 1);
testCapabilities('flint', 3, 9, ['HEALTH'], 0);
testCapabilities('flint', 3, 10, ['RECT'], 1);
testCapabilities('flint', 3, 10, ['ROUND'], 0);
testCapabilities('flint', 3, 10, ['DISPLAY_144x168'], 1);
testCapabilities('flint', 3, 10, ['DISPLAY_180x180_ROUND'], 0);
testCapabilities('flint', 3, 10, ['DISPLAY_200x228'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_APLITE'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_BASALT'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_CHALK'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_DIORITE'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_EMERY'], 0);
testCapabilities('flint', 3, 10, ['PLATFORM_FLINT'], 1);
testCapabilities('aplite', 3, 10, ['BW', 'HEALTH'], 0, 0); testCapabilities('aplite', 3, 10, ['BW', 'HEALTH'], 0, 0);
testCapabilities('emery', 3, 10, ['COLOR', 'HEALTH'], 1); testCapabilities('emery', 3, 10, ['COLOR', 'HEALTH'], 1);