From a0c58841d782e7a3240f1643cfe3b4090612727d Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Mon, 19 Aug 2024 20:40:03 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=20Moves=20models=20to=20/types?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/lib/components/login.svelte | 2 +- .../statusbar/UpdateIndicator.svelte | 2 +- app/src/lib/models.ts | 169 ------------------ app/src/lib/stores/model-store.ts | 12 +- app/src/lib/stores/socket-store.ts | 2 +- app/src/lib/types/models.ts | 68 ++++++- app/src/routes/controller/Controls.svelte | 2 +- .../peripherals/camera/CameraSetting.svelte | 2 +- app/src/routes/peripherals/servo/servo.svelte | 2 +- .../routes/peripherals/servo/servos.svelte | 2 +- .../system/filesystem/FileSystem.svelte | 2 +- app/src/routes/wifi/sta/Scan.svelte | 2 +- 12 files changed, 82 insertions(+), 185 deletions(-) delete mode 100644 app/src/lib/models.ts diff --git a/app/src/lib/components/login.svelte b/app/src/lib/components/login.svelte index a254d98..741730a 100644 --- a/app/src/lib/components/login.svelte +++ b/app/src/lib/components/login.svelte @@ -6,7 +6,7 @@ import { fade, fly } from 'svelte/transition'; import Login from '~icons/tabler/login'; import { api } from '$lib/api'; - import type { JWT } from '$lib/models'; + import type { JWT } from '$lib/types/models'; type SignInData = { password: string; diff --git a/app/src/lib/components/statusbar/UpdateIndicator.svelte b/app/src/lib/components/statusbar/UpdateIndicator.svelte index 6d4fc3b..12b7fbd 100644 --- a/app/src/lib/components/statusbar/UpdateIndicator.svelte +++ b/app/src/lib/components/statusbar/UpdateIndicator.svelte @@ -11,7 +11,7 @@ import { compareVersions } from 'compare-versions'; import { onMount } from 'svelte'; import { api } from '$lib/api'; - import type { GithubRelease } from '$lib/models'; + import type { GithubRelease } from '$lib/types/models'; import { useFeatureFlags } from '$lib/stores/featureFlags'; const features = useFeatureFlags(); diff --git a/app/src/lib/models.ts b/app/src/lib/models.ts deleted file mode 100644 index 5194c55..0000000 --- a/app/src/lib/models.ts +++ /dev/null @@ -1,169 +0,0 @@ -export type vector = { x: number; y: number }; - -export interface ControllerInput { - left: vector; - right: vector; - height: number; - speed: number; - s1: number; -} - -export type GithubRelease = { - message: string; - tag_name: string; - assets: Array<{ - name: string; - browser_download_url: string; - }>; -}; - -export type JWT = { access_token: string }; - -export type angles = number[] | Int16Array; - -export type WifiStatus = { - status: number; - local_ip: string; - mac_address: string; - rssi: number; - ssid: string; - bssid: string; - channel: number; - subnet_mask: string; - gateway_ip: string; - dns_ip_1: string; - dns_ip_2?: string; -}; - -export type WifiSettings = { - hostname: string; - priority_RSSI: boolean; - wifi_networks: NetworkItem[]; -}; - -export type NetworkList = { - networks: NetworkItem[]; -}; - -export type KnownNetworkItem = { - ssid: string; - password: string; - static_ip_config: boolean; - local_ip?: string; - subnet_mask?: string; - gateway_ip?: string; - dns_ip_1?: string; - dns_ip_2?: string; -}; - -export type NetworkItem = { - rssi: number; - ssid: string; - bssid: string; - channel: number; - encryption_type: number; -}; - -export type ApStatus = { - status: number; - ip_address: string; - mac_address: string; - station_num: number; -}; - -export type ApSettings = { - provision_mode: number; - ssid: string; - password: string; - channel: number; - ssid_hidden: boolean; - max_clients: number; - local_ip: string; - gateway_ip: string; - subnet_mask: string; -}; - -export type LightState = { - led_on: boolean; -}; - -export type NTPStatus = { - status: number; - utc_time: string; - local_time: string; - server: string; - uptime: number; -}; - -export type NTPSettings = { - enabled: boolean; - server: string; - tz_label: string; - tz_format: string; -}; - -export type Analytics = { - max_alloc_heap: number; - psram_size: number; - free_psram: number; - free_heap: number; - total_heap: number; - min_free_heap: number; - core_temp: number; - fs_total: number; - fs_used: number; - uptime: number; -}; - -export type StaticSystemInformation = { - esp_platform: string; - firmware_version: string; - cpu_freq_mhz: number; - cpu_type: string; - cpu_rev: number; - cpu_cores: number; - sketch_size: number; - free_sketch_space: number; - sdk_version: string; - arduino_version: string; - flash_chip_size: number; - flash_chip_speed: number; - cpu_reset_reason: string; -}; - -export type SystemInformation = Analytics & StaticSystemInformation; - -export type CameraSettings = { - framesize: number; - quality: number; - brightness: number; - contrast: number; - saturation: number; - sharpness: number; - denoise: number; - special_effect: number; - wb_mode: number; - vflip: boolean; - hmirror: boolean; -}; - -export type File = number; - -export interface Directory { - [key: string]: File | Directory; -} - -export type Servo = { - name: string; - channel: number; - inverted: boolean; - angle: number; - center_angle: number; -}; - -export type ServoConfiguration = { - is_active: boolean; - servo_pwm_frequency: number; - servo_oscillator_frequency: number; - servos: Servo[]; -}; \ No newline at end of file diff --git a/app/src/lib/stores/model-store.ts b/app/src/lib/stores/model-store.ts index fefedc5..e2b0ae7 100644 --- a/app/src/lib/stores/model-store.ts +++ b/app/src/lib/stores/model-store.ts @@ -1,4 +1,4 @@ -import type { ControllerInput } from '$lib/models'; +import type { ControllerInput } from '$lib/types/models'; import { persistentStore } from '$lib/utilities/svelte-utilities'; import { writable, type Writable } from 'svelte/store'; @@ -8,7 +8,15 @@ export const jointNames = persistentStore('joint_names', []); export const model = writable(); -export const modes = ['deactivated', 'idle', 'calibration', 'rest', 'stand', 'crawl', 'walk'] as const; +export const modes = [ + 'deactivated', + 'idle', + 'calibration', + 'rest', + 'stand', + 'crawl', + 'walk' +] as const; export type Modes = (typeof modes)[number]; diff --git a/app/src/lib/stores/socket-store.ts b/app/src/lib/stores/socket-store.ts index 963807a..aa3604e 100644 --- a/app/src/lib/stores/socket-store.ts +++ b/app/src/lib/stores/socket-store.ts @@ -1,5 +1,5 @@ import { writable, type Writable } from 'svelte/store'; -import { type angles } from '$lib/models'; +import { type angles } from '$lib/types/models'; export const servoAnglesOut: Writable = writable([ 0, 45, -90, 0, 45, -90, 0, 45, -90, 0, 45, -90 diff --git a/app/src/lib/types/models.ts b/app/src/lib/types/models.ts index 0353777..4852a82 100644 --- a/app/src/lib/types/models.ts +++ b/app/src/lib/types/models.ts @@ -1,3 +1,26 @@ +export type vector = { x: number; y: number }; + +export interface ControllerInput { + left: vector; + right: vector; + height: number; + speed: number; + s1: number; +} + +export type GithubRelease = { + message: string; + tag_name: string; + assets: Array<{ + name: string; + browser_download_url: string; + }>; +}; + +export type JWT = { access_token: string }; + +export type angles = number[] | Int16Array; + export type WifiStatus = { status: number; local_ip: string; @@ -18,6 +41,10 @@ export type WifiSettings = { wifi_networks: KnownNetworkItem[]; }; +export type NetworkList = { + networks: NetworkItem[]; +}; + export type KnownNetworkItem = { ssid: string; password: string; @@ -64,10 +91,6 @@ export type NTPStatus = { uptime: number; }; -export type RSSI = { - rssi: number; - ssid: string; -}; export type Battery = { voltage: number; @@ -140,4 +163,39 @@ export interface I2CDevice { address: number; part_number: string; name: string; -}; \ No newline at end of file +}; + +export type CameraSettings = { + framesize: number; + quality: number; + brightness: number; + contrast: number; + saturation: number; + sharpness: number; + denoise: number; + special_effect: number; + wb_mode: number; + vflip: boolean; + hmirror: boolean; +}; + +export type File = number; + +export interface Directory { + [key: string]: File | Directory; +} + +export type Servo = { + name: string; + channel: number; + inverted: boolean; + angle: number; + center_angle: number; +}; + +export type ServoConfiguration = { + is_active: boolean; + servo_pwm_frequency: number; + servo_oscillator_frequency: number; + servos: Servo[]; +}; diff --git a/app/src/routes/controller/Controls.svelte b/app/src/routes/controller/Controls.svelte index 7346323..c7a0b07 100644 --- a/app/src/routes/controller/Controls.svelte +++ b/app/src/routes/controller/Controls.svelte @@ -10,7 +10,7 @@ type Modes, ModesEnum } from '$lib/stores'; - import type { vector } from '$lib/models'; + import type { vector } from '$lib/types/models'; import VerticalSlider from '$lib/components/input/vertical-slider.svelte'; let throttle = new throttler(); diff --git a/app/src/routes/peripherals/camera/CameraSetting.svelte b/app/src/routes/peripherals/camera/CameraSetting.svelte index b365c08..ea04072 100644 --- a/app/src/routes/peripherals/camera/CameraSetting.svelte +++ b/app/src/routes/peripherals/camera/CameraSetting.svelte @@ -1,7 +1,7 @@