Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
72 lines (56 loc) · 2.3 KB

File metadata and controls

72 lines (56 loc) · 2.3 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#pragma once
#include "jd_protocol.h"
#include "jd_client.h"
#include "network/jd_network.h"
#include "jacdac/dist/c/devicescriptmanager.h"
#include "jacdac/dist/c/timeseriesaggregator.h"
#define DEVS_PANIC_REBOOT 60000
#define DEVS_PANIC_TIMEOUT 60001
#define DEVS_PANIC_INTERNAL_ERROR 60002 // not used
#define DEVS_PANIC_RUNTIME_FAILURE 60003 // not used
#define DEVS_PANIC_OOM 60004
#define DEVS_PANIC_UNHANDLED_EXCEPTION 60005
#define DEVS_PANIC_STACK_OVERFLOW 60006
typedef struct devs_ctx devs_ctx_t;
typedef struct {
uint8_t mgr_service_idx;
} devs_cfg_t;
int devs_verify(const uint8_t *img, uint32_t size);
void devs_dump_versions(const void *img);
devs_ctx_t *devs_create_ctx(const uint8_t *img, uint32_t size, const devs_cfg_t *cfg);
void devs_restart(devs_ctx_t *ctx);
unsigned devs_error_code(devs_ctx_t *ctx, unsigned *pc);
void devs_client_event_handler(devs_ctx_t *ctx, int event_id, void *arg0, void *arg1);
void devs_free_ctx(devs_ctx_t *ctx);
void devs_panic_handler(int exitcode);
void devs_deploy_handler(int exitcode);
#define DEVS_FLAG_GC_STRESS (1U << 0)
void devs_set_global_flags(uint32_t global_flags);
void devs_reset_global_flags(uint32_t global_flags);
uint32_t devs_get_global_flags(void);
void devs_gpio_init_dcfg(devs_ctx_t *ctx);
// General utils
char *devs_json_escape(const char *str, unsigned sz);
// DeviceScript manager service
void devsmgr_init(void);
// start all related services, including network and debugging
void devs_service_full_init(void);
devs_ctx_t *devsmgr_get_ctx(void);
int devsmgr_deploy(const void *img, unsigned imgsize);
int devsmgr_get_hash(uint8_t hash[JD_SHA256_HASH_BYTES]);
int devsmgr_deploy_start(uint32_t sz);
int devsmgr_deploy_write(const void *buf, unsigned size);
void devsmgr_restart(void);
void devsdbg_init(void);
void devsdbg_suspend_cb(devs_ctx_t *ctx);
typedef struct {
int (*send_message)(int data_type, const char *topic, const void *data, unsigned datasize);
int (*is_connected)(void);
size_t max_bin_upload_size;
int (*service_query)(jd_packet_t *pkt);
void (*track_exception)(devs_ctx_t *ctx);
} devscloud_api_t;
extern const devscloud_api_t noop_cloud;
extern const devscloud_api_t wssk_cloud;
void devscloud_on_message(int data_type, const void *data, unsigned datasize);
void devscloud_init(const devscloud_api_t *cloud_api);
Morty Proxy This is a proxified and sanitized view of the page, visit original site.