Quantcast
Channel: Objective Development Forums
Viewing all 4524 articles
Browse latest View live

Re: LS uses the discreet card on my MB.

$
0
0
I found the following "hack" works perfectly for me:

(Assuming you're stuck in "Discrete" mode in gfxCardStatus)
1) Open the Activity Monitor
2) Search for "Little Snitch Network Monitor"
3) Force Quit it (When it quits, it will re-open immediately, but without being a gfxCardStatus "dependancy")
4) Change your gfxCardStatus to "Integrated"

I've been doing this multiple times a day when I need to manually switch between GPUs, and I've noticed no side-effects to the operation of LS.

Re: LaunchBar appears in the dock twice

$
0
0
Hi All,

I was pretty hopeful when I came upon this discussion group as my first hit after doing a quick google search, but it seems you all have same issue as I do with no good permanent solutions.

I'm running OSX 10.8.5 and Launchbar 5.6.1.

I noticed that if I have Launchbar listed as one of my Login Items, then on boot I end up with the two instances of the LB icon sitting in my dock. As others stated, cmd+option+esc only shows one instance of the program, and I can only find one instance of the program running in Activity Monitor. If I force quit LB, then one of the dock icons disappears leaving me with the "zombie" icon. If I click on the zombie icon however, it disappears. If I then restart the LB application, I only get one icon in the dock as expected. Similarly, if I remove LB from my list of Login Items and launch the application manually after booting, I only get one instance of the application in the dock. For me at least, the duplicate icons only occur if the app is auto-loaded on boot after being listed in login items.

Re: LaunchBar appears in the dock twice

$
0
0
I received a reply from Objective Development support and they said that this is a rare issue and they are seeing this in OS X 10.8.5.

Support did say that they are actively working on a solution and said that this is working for some users:
Quit LaunchBar
- remove LaunchBar from your Dock
- remove or make sure, LaunchBar is not in your System Preferences > Users & Groups > Login Items
- Restart your System without the 'Reopen windows when logging back in' option
- open LaunchBar
- reconfigure on your demands (Dock, Login Item, Show/Hide LB Dock Icon)

I went ahead and upgraded to 10.9 yesterday and the problem has gone away. Of course, if you cannot, or are not planning to, upgrade to Mavericks, then this is not a solution.

Re: Galerie-Element reagiert nur teilweise

$
0
0
*lach*
OK, kann ich machen.

Also, ich kann Dir nur den selben Rat geben wie hier http://forums.obdev.at/viewtopic.php?f=7&t=8711– einfach weil es in solchen Fällen fast immer ein CSS-Problem ist (unsichtbare Überlagerungen von Klickflächen) der IE interpretiert Abstände und Räume anders - daher geht es bei Ihm.
ODER es ist (eher seltener) ein JS-Problem (also alles andere mal aus machen).

Ich weiss nicht, was Du zum Debuggen benutzt ... aber es gibt ja hilfreiche Browser-Erweiterungen, die visuell zeigen welches Element welchen Raum einnimmt wärscheinlich hängt bloß ein Bereich (Tabellenzelle etc.) des Bildes über den Knöpfen und deshalb kannst Du sie nicht klicken ...

Pages Templates not opening

$
0
0
I was able to find the place where the new version of Pages keeps my custom templates. I added that folder as a new indexing rule (it's in a container in my Library folder called com.apple.iWork.Pages).

The file comes up, but won't open with Launchbar. Any solutions?

Having to open templates from within Pages is a bit of a pain when you are so used to Launchbar.

Thanks!

Re: Little Snitch behaviour

Re: V-USB certification non-compliance details

Re: Copy 1Password content from LaunchBar?

$
0
0
Hi Manfred,

I read on the 1p forum that you guys fixed the issue and the fix will be included in the next release. When will this be released?

Thanks,
Stef

Re: 1k5 k pull-up on D-

$
0
0
Sorry to revive this but I'd like to answer this hanging question: the voltage drop across the zener diode depends on the current going through it.

Image

As you go to the left (increasing reverse voltage across the zener), not much flows, until you reach a point where current increases significantly and the graph drops down steeply. If you limit the current with a 2k2 resistor, you'll stay near the top of the drop-off, where the voltage drop across the zener is less. For the ones used, this apparently puts the voltage too close to the USB threshold and risks not being recognized. The red circled region is where you want to be, which gives the specified Vz. This requires putting Iz (current) through the zener.

Re: Using generic signal diodes instead of zeners

$
0
0
I tried this on another chip, an attiny85 with a 16MHz crystal oscillator, and it fails when I omit one of the diodes, both on a hub and on a PC. So D1-D6 is necessary.

Re: Clock accuracy limits for 12MHz implementation

$
0
0
16MHz osccal'd on an attiny85 seems to work here right out the box. I'm attempting to use the one-clock synchronization code idea from above in the 16MHz code, to make it more robust. I just had an insight that you really only need the two-clock-accuracy synchronization code done twice at a one-clock offset. The first narrows it into a two-clock window, and then you only need a single check in the middle of this window that delays an extra clock if the transition was after the check. The 16MHz code is more difficult due to fractional clocks, so I did a rough sketch of this new idea on the 12MHz code, which has 8 clocks per bit:

waitFor0:
    sbis    USBIN, USBMINUS
    rjmp    waitFor1
    sbis    USBIN, USBMINUS
    rjmp    waitFor1
    ...
waitFor1:
    nop
    nop
    nop
    nop
    sbis    USBIN, USBMINUS ;[0]
    rjmp    .               ;[1]
found1:
    nop                     ;[2]
    in      r0, USBIN       ;[3] ; reads in center of bit

waitForK's timing:

1->0 might occur just before first SBIS, in which case the SBIS in foundK reads nearly 7 clocks later, one clock before it changes to 1. It doesn't skip the RJMP ., so delays an extra clock. The NOP in found1 thus runs 2 clocks after the 0->1 transition, which occured during the first clock of the RJMP . .

1->0 might occur just after the first SBIS, in which case the SBIS in foundK reads nearly 9 clocks later, one clock after it changes to 1. It skips the RJMP ., so doesn't delay the extra clock. The NOP in found1 thus runs nearly 3 clocks after the 0->1 transition.

So the NOP in found1 runs from 2 to almost 3 clocks after the 0->1 transition. The ideal bit read time is 4 clocks after the transition; this reads from 3 to almost 4 clocks, 3.5 on average. This is from the first detection of the new state after a transition, which is probably delayed slightly due to logic thresholds, so reading a tad early seems better.

This complicates the checking for double-K (0). The old code needed two transitions: coarse 0->1, and find 1->0 unrolled. It then checked for a 0 1.5 bit periods later. If it was a 1, it went back to the unrolled loop. This allowed it to start at any of the three synchronization 1 bits at the beginning.

This new code needs 3 transitions: 0->1 in the coarse loop, 1->0 in the 2-clock unrolled loop, and 0->1 in the 1-clock check. Then it needs to wait 2.5 bit periods to check for a double-zero. If it's a 1, it can't go back and re-synchronize, so it has to wait exactly 8 cycles then check again. It also must catch the first or second 1 synchronization bit; the third is too late, unlike the original code. So this reduces allowable interrupt latency. Maybe if the first 0->1 wait loop were replaced with the unrolled code (unrolled more perhaps), then it'd only need two transitions. We'd need to know the maximum the unrolled code would need to wait for the first 0->1 transition.

Whoever tries this, OSCCAL needs to be adjusted up and down until the original 12MHz code breaks, to see how tolerant it is of variation. Then this new code needs to be tested the same way to confirm that it really is more tolerant of oscillator variance.

Re: Clock accuracy limits for 12MHz implementation

$
0
0
Well, I worked in this one-clock synchronization on the 12MHz version but it didn't improve the OSCCAL deviation allowed. With the original and this code only 0x46-0x48 worked. Full code linked:

usbdrvasm12.inc

waitForK1:
    inc     YL
    sbic    USBIN, USBMINUS
    brne    waitForK1        ; just make sure we have ANY timeout
waitForJ:
    sbic    USBIN, USBMINUS
    rjmp    waitForK
    sbic    USBIN, USBMINUS
    rjmp    waitForK
    ...
timeout:
    ...
    rjmp    sofError

waitForK:
    push    YH
    nop
rewaitForK:
    nop
    sbic    USBIN, USBMINUS ;1 [-3]
    rjmp    .               ;1 [-2]
    nop                     ;1 [-1]
    nop                     ;1 [0]
    nop                     ;1 [1]
   
;foundK:
;{4} after falling D- edge, average delay: 4 cycles [we want 4 for center sampling]
;we have 1 bit time for setup purposes, then sample again. Numbers in brackets
;are cycles from center of first sync (double K) bit after the instruction
    nop                     ;1 [2]
    nop                     ;1 [3]
    lds     YL, usbInputBufOffset;2 [5]
    clr     YH                  ;1 [6]
    subi    YL, lo8(-(usbRxBuf));1 [7]
    sbci    YH, hi8(-(usbRxBuf));1 [8]

    sbic    USBIN, USBMINUS ;1 [9] we want two bits K
    rjmp    rewaitForK      ;2 [10]

    push    shift           ;2 [12]
    push    x1              ;2 [14]
    push    x2              ;2 [16]

    in      x1, USBIN       ;1 [17] <-- sample bit 0

The first change was replacing waitForJ with an unrolled loop. This way it synchronizes to within 2 clocks. Then, I replaced the old unrolled waitForK with 8 NOP instructions, since the now-unrolled waitForJ synchronized the same, so 8 clocks later we're just after the K transition. There was one problem; the waitForJ loop can start in the middle of J already having begun, so the unrolled loop here won't synchronize to the edge, it'll just go ahead to waitForK. So I added a loop before waitForJ which waits for K, so that waitForJ will then find a transition.

With the synchronization now moved to waitForJ, and waitForK just NOPs, I could put the final 1-clock synchronization into waitForK. At the right point, it simply checks whether the K transition has occurred, and if not, delays an extra clock.

I made one further change of reworking the foundK code so that it could sample the middle of the second K pair one clock later where is desired. This allowed moving the push YH before foundK, and eliminating a branch.

As for verifying that all the delays are correct, I used a simple counting model. First, we want reads of consecutive bits to be 8 clocks apart. So if we're checking the following code, we count the number of cycles of the instruction that reads the bit and all the ones between it and the next instruction to read.
    in      r0, USBIN   ; 1
    nop                 ; 1
    push    r1          ; 2
    pop     r1          ; 2
    nop                 ; 1
    nop                 ; 1
    in      r1, USBIN

That totals 8 clocks, so the timing is correct here.

The first timing in the code is
waitForJ:
    sbic    USBIN, USBMINUS
    rjmp    waitForK
;   in     rXX, USBIN       ; 1
    sbic    USBIN, USBMINUS ; 1
    rjmp    waitForK        ; 2
    ...
waitForK:
    push    YH              ; 2
    nop                     ; 1
    nop                     ; 1
    sbic    USBIN, USBMINUS
    rjmp    .

There are two timing cases.

The first is when J occurs just before the SBIC, then an RJMP to waitForK. For that one, there are only 7 clocks before the next read, so it comes one clock early. In that case, the SBIC will still find the J state (high), and thus execute the rjmp, takng 3 clocks.

The second timing case is when J occurs during the second clock of the SBIC before it. I've put a comment-out IN instruction to show this. In that case, it's as if that IN instruction saw J occur, so there are 8 clocks before the next read at the SBIC. In that case, the SBIC finds the K state (low) and skips the rjmp, taking only 2 clocks.

So this SBIC seems correctly situated, able to detect the two timing cases for the waitForJ unrolled loop.

Next is the timing from the SBIC to the next SBIC that checks in the middle of the second bit:
    sbic    USBIN, USBMINUS ;1 [-3]
    rjmp    .               ;1 [-2]
    nop                     ;1 [-1]
    nop                     ;1 [0]
    nop                     ;1 [1]
    nop                     ;1 [2]
    nop                     ;1 [3]
    lds     YL, usbInputBufOffset;2 [5]
    clr     YH                  ;1 [6]
    subi    YL, lo8(-(usbRxBuf));1 [7]
    sbci    YH, hi8(-(usbRxBuf));1 [8]

    sbic    USBIN, USBMINUS ;1 [9] we want two bits K

The sbic effectively reads during the first clock of the first K bit. When it reads during the last clock of the previous bit (J), an extra clock of delay is inserted just after.

There are 12 clocks for SBIS through the SBCI. This puts the next SBIC 1.5 bits after the beginning of the first K bit, which is what is desired.

In the case where there wasn't a double K bit,
    sbic    USBIN, USBMINUS ;1 [9] we want two bits K
    rjmp    rewaitForK      ;2 [10]
    ...
   
rewaitForK:
    nop
    sbic    USBIN, USBMINUS ;1 [-3]

we have 4 clocks for SBIC through NOP, putting the next SBIC right at the beginning of a bit, as desired.

Finally, the case where we do find a double K.
    sbic    USBIN, USBMINUS ;1 [9] we want two bits K
    rjmp    rewaitForK      ;2 [10]

    push    shift           ;2 [12]
    push    x1              ;2 [14]
    push    x2              ;2 [16]

    in      x1, USBIN       ;1 [17] <-- sample bit 0

There are 8 clocks for SBIC through PUSH x2, putting the IN right in the middle of the next bit.

So all the timing seems to check out. I've tried adding/removing a NOP from just before rewaitForK, in case I had the timing off by one. Again, this is only when using OSCCAL values just outside the three that work.

I wonder whether it's the send timing that's the problem. The original OSCCAL for 16MHz was 0xA2, and 0x47 was the optimal 12MHz value. Assuming roughly linear steps, that's about 0.044MHz/step (the way OSCCAL overlaps around 0x80 means that the step is larger than this). Two steps break it, which is about 0.9% variation.

Re: Clock accuracy limits for 12MHz implementation

$
0
0
I wonder whether it's the send timing that's the problem. The original OSCCAL for 16MHz was 0xA2, and 0x47 was the optimal 12MHz value. Assuming roughly linear steps, that's about 0.044MHz/step (the way OSCCAL overlaps around 0x80 means that the step is larger than this). Two steps break it, which is about 0.9% variation


I guess that would be a reasonable assumption. There is not too much that can be done to fix send, other than having a "pll" in between. Maybe you could probe by changing osccal between received and send?

Re: Mavericks OS X 10.9 and WebYep

$
0
0
SOLUTION AHEAD

I don't know right now if I should cry or rejoice. this is crazy!

I just found - after pondering the whole issue under new the circumstances again - the reason for the whole problem.

I started rapidweaver by default in english language for quite a while. I must have switched to english around the same time I switched to mavericks. I did this because I ran in to another problem with a stack and german "umlaute". switching rapidweavers language to english solved that problem but created this webyep problem on the way. grrrrrrrrrrrrrrrrrrrrrrr!!!!!

now after a small brainwave I started rapidweaver in german again.

no

more

problems....

so only german rapidweaver with german or (!) englisch webyep. but no english rapidweaver with german webyep (but with english webyep of course)

so crazy....

Re: Future of WebYep

$
0
0
the freeway development looks great. I wished someone would do this for rapidweaver! :)
please have a look at my topic here: viewtopic.php?f=6&t=8653&p=26342#p26342
I posted a new comment today. I found out that the german/english filenames in the system are causing this error when trying to preview, export or upload the webyep page:

Exception while exporting site
-[__NSCFString appendString:]: nil argument

thanks a lot. I really hope for a solution. best wishes - kai

Re: Clock accuracy limits for 12MHz implementation

$
0
0
My send reasoning could be wrong, since how could the 12.8MHz/16.5MHz versions work with RC sending? I'd also think that the receiver in the host would re-synchronize on every edge.

Introduction for beginners!

$
0
0
Hi guys,

I am a beginner, is there any introduction for v-usb? all I see is professional instructions!
I have read wiki, comments in usbdrv.h, usbconfig.h and main.c in some example projects, but they seem complicated to me.
I don'n know, for example, which message or data transfer from device to PC or ...

Also, it may be very simpler than what I think. Is it true?
Otherwise, is there a basic introduction explaining v-usb?

Thanks a lot

Re: Future of WebYep

$
0
0
HI
I to have come across the character problem in the naming of webyep items and it was something that stopped webyep dead in its tracks. The only quick solution was to make sure names of webyep items didn't have the umlaut character.

As for the development of webyep there should be no reason why the Rapidweaver plugin couldn't be adapted to use the updated webyep system that being written for Freeway. Once I have a fully working model I will be uploading it to github for non Freeway users to use if they wish.
All the best max

Re: Several security dialogs every reboot on Mavericks

$
0
0
I tried deleting LaunchBar and reinstalling but I'm still getting the same errors?? Any ideas?

Setting up a remote, non-technical user

$
0
0
I would like to do this: have a remote user purchase LS, then send that new user the same rules that I use. Is this possible? When the new install of LS runs on here computer, she will see the normal flush of messages that occur on a new install. She will wet her pants.

This is not desirable.

So, how can I set her up short of remote control of her machine? Can I send her my pref file/folder, and if so, which one?
Viewing all 4524 articles
Browse latest View live