---
# System prepended metadata

title: Devoloping Results
tags: [':)']

---

# Devoloping Results

## Link
[google drive](https://drive.google.com/drive/folders/1qUGkNQER7EFVtiZKSB1OGm5WzBcWUGjN?usp=sharing)

## Parser

### ARXML -> OIL

- [ ] /MilkshopOS/dona-nemem.py
    * compile ```osek.arxml``` to ```osek.oil```

- [ ] /MilkshopOS/Makefile
    * add new ```osek_GEN_FILES``` & target ```arxml```
    
:::info
[repo](https://github.com/Xx-oX/Dona-Nenem)
:::

### OIL -> ARXML

#### Modify
- [ ] /MilkshopOS/gen/inc/alarm_Cfg.h.php
    * move counter part to ```counter_Cfg``` & add ```EPCALLBACK``` case
- [ ] /MilkshopOS/gen/src/alarm_Cfg.c.php
    * move counter part to ```counter_Cfg.``` 

- [ ] /MilkshopOS/gen/inc/OS.h.php
    * add inclusion of new files


#### New
- [ ] /MilkshopOS/gen/inc/counter_Cfg.h.php
- [ ] /MilkshopOS/gen/src/counter_Cfg.c.php
- [ ] /MilkshopOS/gen/inc/scheduleTable_Cfg.h.php
- [ ] /MilkshopOS/gen/src/scheduleTable_Cfg.c.php


## ScheduleTable (Kernel)

### Description

#### Counter
* 3 api
    * IncrementCounter
    * GetCounterValue
    * GetElapsedValue

:::warning
Not fully finished, a lot of counter usage (counterCounts & counterTicks) in old OS should be updated (e.g. CounterTick() in alarm.c).
:::

#### ScheduleTable
* 8 api
    * StartScheduleTableRel
    * StartScheduleTableAbs
    * StopScheduleTable
    * NextScheduleTable
    * StartScheduleTableSynchron
    * SyncScheduleTable
    * SetScheduleTableAsync
    * GetScheduleTableStatus

* 1 internal function
    * AdjustExpiryPoint

:::warning
Forgot to add declaration in ScheduleTable.h, but somehow nothing went wrong.
:::

### Code 

#### Modify
- [ ] /MilkshopOS/kernel/alarm.c
    * add alarm action ```EPCALLBACK```
    
- [ ] /MilkshopOS/kernel/system.c
    * add ```autostart scheduleTable```

- [ ] /MilkshopOS/kernel/typedefine.h
    * change old type & add new types
    
:::warning
There may have some other changes, but not mention above.
:::

#### New
- [ ] /MilkshopOS/kernel/counter.c
- [ ] /MilkshopOS/kernel/counter.h
- [ ] /MilkshopOS/kernel/ScheduleTable.c
- [ ] /MilkshopOS/kernel/ScheduleTable.h

:::warning
Naming typo: ```ScheduleTable``` should be ```scheduleTable```, but too many ```#include "ScheduleTable.h"``` need to be changed.
:::

###### tags: `:)`